问题描述
我正在开发一个应用程序,并通过Azure使用Sendgrid发送一些电子邮件。 我有一个Rest API后端,然后还有一个Web门户,它也与其余API进行通信。
发送电子邮件时,我添加了3个用于回复的按钮(确认,重新安排,拒绝)。这些都是添加的URL参数,理想情况下应如下所示:
https://mywebsite.com/Home/Action?itemId=901ba77b-a154-464b-9ee8-8ff85ebdb4c5&result=2
https://mywebsite.com/Home/Action?itemI=
d=3D901ba77b-a154-464b-9ee8-8ff85ebdb4c5&result=3D2
这破坏了功能。
这指向一个.NET Core 2.2 Web应用程序。在我的控制器中,我添加了:
public async Task<ActionResult> Action(string itemId,string result)
{
var callResult = await Constants.Client.PutAsync(
String.Format("{0}/items/setResponse?uuid={1}&result={2}",ConsumerConstants.TastingRestAPIRoot,tastingId,result),null
);
}
当我在本地进行测试时,我已经可以使用它了,但是当我将它在线上时,它突然停止了工作。该按钮将我带到该站点,但是查询参数已损坏,因此无法正常工作。
如果我查看原始的gmail内容并将链接复制/粘贴到我的浏览器中,并保留= 3D和其他内容,它将无法更新任何内容-但是如果我将其更改回最初从我的应用程序发送时的状态(即,我在这篇文章中的第一个代码块)然后可以正常工作并对其进行更新。
我该如何解决?有没有一种方法可以解决我所拥有的查询参数的gmail问题?还是一种修改控制器以与之配合使用的方法?据我所知,我不允许将sendgrid content-transfer-encoding更改为quoted-printable。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)