Javascript 通过sendgrid向某些电子邮件发送电子邮件是中文的

Javascript 通过sendgrid向某些电子邮件发送电子邮件是中文的,javascript,node.js,email,sendgrid,Javascript,Node.js,Email,Sendgrid,我正在使用Sendgrid节点库发送事务性电子邮件。一切正常,直到今天,我收到一份投诉,说有些人用@live.com或@optonline.net电子邮件收到的电子邮件只是一堵中文和其他字符的墙。这些邮件可以很好地发送给其他每一封邮件,而且也不是每个人都有这些邮件,只有少数 控制台中没有显示任何错误,通过Sendgrid仪表板查看,发送电子邮件也没有问题 这是电子邮件外观的一个示例: 正如你所看到的,标题写得很好,但身体却很怪异 下面是它应该看起来的样子: 知道这是怎么回事吗?或者如何解决这

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

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

这是电子邮件外观的一个示例:

正如你所看到的,标题写得很好,但身体却很怪异

下面是它应该看起来的样子:


知道这是怎么回事吗?或者如何解决这个问题?这不是一个大问题,因为这只是经历过这个问题的人的一小部分,但是,它仍然很令人沮丧。

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

因此,SendGrid发送的电子邮件采用ISO 8859-1编码,如果某些电子邮件客户端的编码与电子邮件正文不匹配,它们会像发布时的屏幕截图一样奇怪地显示电子邮件

我们花了一段时间才弄清楚是什么让电子邮件出错,最终意识到我们的模板中有一些东西要么编码不同要么出错,当我们测试从头开始创建一个新模板时,它工作得很好

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


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

只是想知道,如果您将其转换回英语,它是否正确?不,它转换为相同的内容。这不是有效的中文。您能提供发件人和收件人看到的此类邮件的标题吗?我会猜测邮件中使用的字符集声明缺失,以及收件人的“不寻常”猜测。@AnFi确定,等待他们给我发送标题(这是他们的收件箱哈哈)@SatyamDorville Woops,我实际上忘记了这个问题,因为我挣扎了几个月,直到最近才得到修复。我将提交我们的解决方案!