我發送了一封電子郵件,但收到的郵件正確,但主題的編碼不正確。我發送「invitación」,但我收到「invitaci?n」。消息的內容是確定的。發送郵件時發生主題編碼問題
消息的內容來自速度模板的轉換,而主題被設置爲字符串變量。
我用google搜索了一下,我看到有些人說MimeUtility.encodeText()可以解決這個問題,但我沒有成功。
我該如何解決問題?這是迄今爲止的代碼。
String subject = "Invitación";
String msgBody = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, "/vmTemplates/template.vm", "UTF-8", model);
Properties props = new Properties();
Session session = Session.getDefaultInstance(props, null);
try {
String encodingOptions = "text/html; charset=UTF-8";
Message msg = new MimeMessage(session);
msg.setHeader("Content-Type", encodingOptions);
msg.setFrom(new javax.mail.internet.InternetAddress(emailFrom));
msg.addRecipient(Message.RecipientType.TO, new InternetAddress(emailTo));
msg.setSubject(subject);
msg.setContent(msgBody, encodingOptions);
Transport.send(msg);
} catch (AddressException e) {
...
} catch (MessagingException e) {
...
}
感謝
javax.mail.Message沒有這種方法。我正在使用AppEngine提供的Java Mail API。 – Javi 2011-02-04 12:32:23
哦,對不起!我沒有注意到這與AppEngine有關! – ksimon 2011-02-04 12:36:49