[英]Tomcat encoding issue with email
我在Windows Tomcat上部署了一個Java Webapp,對其進行了所有更改,以將字符編碼設置為UTF-8,並且對於所有請求響應都可以正常工作。 但是問題是使用Web應用程序發送的電子郵件中出現垃圾字符。
需要解決什么問題?
電子郵件服務代碼:
SimpleMailMessage msg = new SimpleMailMessage();
Map<String, Object> model = new HashMap<String, Object>();
model.put("userName", StringEscapeUtils.unescapeJava(StringEscapeUtils.unescapeHtml(name)));
StringWriter writer = new StringWriter();
VelocityEngineUtils.mergeTemplate(velocityEngine, "vm/messages/create_user.vm", "utf-8", model, writer);
msg.setText(writer.toString());
this.mailSender.send(msg);
郵件中的垃圾字符示例:
你好P?ajwal Thakare,
Sie erhalten diese automatische電子郵件,da Sie dasZurücksetzenIhres Passworts angefordert haben。
郵件中的P?ajwal應該是Pʁajwal
用MimeMessage替換SimpleMailMessage。 現在,您可以設置UTF-8字符集。
MimeMessage msg = mailSender.createMimeMessage();
msg.addRecipient(RecipientType.TO, new InternetAddress(adminEmail));
msg.addFrom(new InternetAddress[] { new InternetAddress(adminEmail) });
msg.setSubject(subject, "UTF-8");
msg.setText(message, "UTF-8");
mailSender.send(msg);
有關更多信息,請參見此處 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.