我正在使用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()
填充电子邮件的正文
答案 0 :(得分:0)
其他地方已经回答:
https://groups.google.com/d/msg/play-framework/Fdr_Fjfbstg/cvbsJNq-SO0J
基本解决方案是从命令行为您的应用程序在JAVA_OPT中设置UTF8编码:
heroku config:add JAVA_OPTS="-Dfile.encoding=UTF8"