[英]How can I prevent the plus sign from being encoded to ASCII code in body of MailMessage
我正在尝试将一些javascript标记嵌入从系统发出的MailMessage中。 原因是脚本的JSON内容将由第三方读取并解析。
脚本标签应采用以下格式:
<script type="application/json+trustpilot">
这就是我检查MailMessage的body属性时的外观。 但是,当将其传递到邮件客户端时,其格式如下:
<script type="application/json+trustpilot">
关于如何在html中编码特殊字符,有很多建议可以解释,但是在上述特殊情况下,没有什么建议可以阻止这种情况的发生。 谁能帮忙,我花了一整天的时间来解决这个问题!
谢谢
我无法重现您遇到的问题。 我用C#创建了一个最小的控制台应用程序以尝试重现它。 我正在通过电子邮件正文发送仅带有非常小的“结构化代码段”的电子邮件。
namespace TestingMailMessage
{
using System.Net;
using System.Net.Mail;
public class Program
{
public static void Main(string[] args)
{
const string FromEmail = "<some-email-address>";
const string Password = "<your-password>";
var mailMessage = new MailMessage(
FromEmail,
"xxxxxxxxxx@invite.trustpilot.com",
"This is a test trigger",
"<script type=\"application/json+trustpilot\">{\"recipientEmail\": \"jane.doe@trustpilot.com\"}</script>");
var smtpClient = new SmtpClient
{
Host = "smtp.gmail.com",
Port = 587,
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
Credentials = new NetworkCredential(FromEmail, Password)
};
smtpClient.Send(mailMessage);
}
}
}
收到电子邮件后,它看起来正确-并且正确解析了“结构化数据片段”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.