通过sendgrid向某些电子邮件发送电子邮件以中文显示

时间:2019-08-20 01:50:40

标签: javascript node.js email sendgrid

我正在使用Sendgrid节点库发送事务性电子邮件。直到今天,一切都运转良好,直到我收到投诉,一些使用@ live.com或@ optonline.net电子邮件的人收到的电子邮件只是一堵中文和其他字符的墙。这些电子邮件可以很好地发送给其他所有电子邮件,不是所有收到这些电子邮件的人也只有少数。

控制台中未显示任何错误,并且查看Sendgrid仪表板也表明发送电子邮件也没有问题。

这是电子邮件外观的示例: What the email looks like

您可以看到标题很好,但是主体很奇怪。

这是应该的样子: What the picture is supposed to look like

有什么想法吗?或如何解决?这不是主要问题,因为它只是经历此问题的一部分人,但是,它仍然令人沮丧。

1 个答案:

答案 0 :(得分:1)

解决方案实际上是由我的同事Brian提出的。

因此,SendGrid发送具有ISO 8859-1编码的电子邮件,如果某些电子邮件客户端的编码与电子邮件正文不匹配,他们将像在张贴的屏幕快照中一样奇怪地显示电子邮件。

我们花了一段时间才弄清楚是什么导致电子邮件发送失败,并最终意识到模板中的某些内容要么具有不同的编码,要么就被绊倒了,当我们测试从头开始创建新模板时,它工作正常。

我们使用了SendGrid中的模板构建器来重新创建我们一直在使用的模板,并将其导出到代码中,以替换旧的模板。现在,电子邮件正确显示了。

因此,问题在于内容编码不匹配,请确保解决方案中模板源中没有任何东西具有不同的编码。