Sendgrid 电子邮件发送时出现撇号 ' 字符问题?

Tos*_*far 4 java email encoding sendgrid

我正在尝试使用 SendGrid 和 Java 来发送电子邮件。撇号字符看起来像 ? (问号)。

我正在发送标头以将文本编码为 UTF-8,但它仍然看起来像一个问号。

mailMessage.setHeaders("{'text':'UTF-8'}");
Run Code Online (Sandbox Code Playgroud)

上面的行没有任何效果。我确信我输入的 HTML 字符串是 UTF-8 编码的。电子邮件客户端是 MS Outlook 2010

小智 10

我知道这个答案对你来说已经晚了 6.5 年,但是,由于这个问题仍然发生在人们身上,而且这篇文章在谷歌搜索中出现得很靠前,我想我会提供一个替代解决方案。

在 SendGrid 的模板本身上,您可以通过使用三重花括号而不是双花括号来简单地转义这些有问题的字符。IE

{{{收件人姓名}}}

代替

{{收件人姓名}}

该解决方案隐藏在 SendGrid 文档的内部:

https://github.com/sendgrid/sendgrid-nodejs/blob/master/packages/helpers/constants/index.js


Muk*_*yap 7

您必须在三重花括号中传递主题变量,以便它将解析为文本而不是 HTML,您可以像这样传递它 - {{{subject}}}

或者您可以再次执行所有步骤

这是为我工作的。