如何防止加号在邮件正文中编码为 ASCII 代码
本文关键字:编码 ASCII 代码 正文 何防止 | 更新日期: 2023-09-27 17:55:36
我正在尝试在从我们的系统发送的邮件中嵌入一些javascript标签。原因是脚本的 JSON 内容将由第三方读取并解析。
脚本标记的格式应如下所示:
<script type="application/json+trustpilot">
这就是我检查邮件的 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);
}
}
}
收到电子邮件后,它看起来是正确的 - 并且"结构化数据片段"被正确解析。