[英]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.