3

我正在使用 Heroku 托管一个用 Play Framework 2.2.x (Java) 编写的应用程序。此外,我正在使用 Mailchimp 的 Mandrill 来自动发送电子邮件。

在我的本地环境中,我可以通过 Mandrill 发送电子邮件,一切看起来都很好。根据 GMail,电子邮件具有以下编码:

MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

但是,当部署到 Heroku 并执行相同操作时,电子邮件看起来是乱码。根据 GMail,电子邮件现在具有以下编码:

MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

Heroku 上的站点本身看起来不错,并且可以毫无问题地以 UTF8 显示异国字符。

我应该提到我正在使用模板和play-easymail( https://github.com/joscha/play-easymail/ ) 来生成电子邮件:也就是说,我使用字符串填充电子邮件的正文views.html.emails.myEmailTemplate.render().toString()

4

1 回答 1

0

这已在其他地方得到答复:

https://groups.google.com/d/msg/play-framework/Fdr_Fjfbstg/cvbsJNq-SO0J

基本解决方案是从命令行为您的应用程序在 JAVA_OPT 中设置 UTF8 编码:

heroku config:add JAVA_OPTS="-Dfile.encoding=UTF8"
于 2014-04-29T01:29:44.773 回答