我正在使用 Spring MimeMessageHelper 发送电子邮件,它在后台使用 JavaMail API。我想有一个选项来输入收件人的姓名,如下所示:
private static void setTo(final EmailDTO emailDTO, MimeMessageHelper helper) throws MessagingException {
if (StringUtils.isBlank(emailDTO.getToName())) {
helper.setTo(emailDTO.getToEmail());
} else {
helper.setTo(emailDTO.getToName() + " <" + emailDTO.getToEmail() + ">");
}
}
但是,这会引发
javax.mail.internet.AddressException: Illegal character in address ( Őry József <mail@testcompany.com> )
..当名称中有重音字符时。在这种情况下,我应该使用哪个函数对名称进行编码?