2010-06-23 36 views
3

我在发件人中使用Spring Framework发送一个包含“年”一词的邮件(请参见口音)。Spring Framework中对邮件的口音支持

的代码是一个我找到了春天:

org.springframework.mail.javamail.JavaMailSenderImpl sender = sender(); 
    javax.mail.internet.MimeMessage msg = sender.createMimeMessage(); 
    MimeMessageHelper helper = new MimeMessageHelper(msg, multipart, "UTF-8"); 
    helper.setFrom(from); 
    ... 
    sender.send(msg); 

我已经试过两种方法:

  1. 没有处理从
  2. 与编码:MimeUtility.encodeText(from)MimeUtility.encodeText(from, "UTF-8", null)

第一个案件给了我一个问号。第二个例子给出了一个=?UTF-8?Q?=C3=92mnium,就像在Thunderbird中看到的那样。

什么是正确的方法?

+0

正确的方法是添加“Q”编码:MimeUtility.encodeText(from,“UTF-8”,“Q”) – 2010-06-23 21:13:39

回答

3

第二种方法正常工作。请注意,您不应将MimeUtility.encodeText()应用于From字段的地址部分,即i。即

String from = MimeUtility.encodeText("Òmnium", "UTF-8", null) + " <[email protected]>";