我正在接受????发件人姓名,ics附件和短信。 对于我用过的邮件
MailService mailService = MailServiceFactory.getMailService();
MailService.Message message = new MailService.Message();
String senderName = appInfo.getEmailInfo().getSenderName()!=null;
senderName = StringEscapeUtils.unescapeHtml(senderName);
使用它的工作正常。当我正在使用multipart时它不能正常工作
Multipart multipart = new MimeMultipart("alternative");
message.setSubject(StringEscapeUtils.unescapeHtml(subject));
message.setSentDate(new Date());
MimeBodyPart messagePart = new MimeBodyPart();
messagePart.setContent(messageContent, mailType +"; charset=utf-8");
附件
MimeBodyPart attachmentPart = new MimeBodyPart();
attachmentPart.setHeader("Content-Type", "text/plain;charset=utf-8");
attachmentPart.setText(attachment);
对于我使用过的短信
String customerAddress = StringEscapeUtils.unescapeHtml(customerContact.getAddress());
任何人都可以帮助我。
答案 0 :(得分:0)
无需在HTML中转换发件人和主题。将它们设置为字符串。
答案 1 :(得分:0)
选择一个无法正常工作的字符串。使用以下方法打印出原始值:
private static void printString(String s) {
System.out.printf("String: %s%n");
for (char c : s.toCharArray())
System.out.printf("%4x %c%n", (int)c, c);
}
然后使用相同的方法打印转换后的值。发布结果。然后我们可以看出出了什么问题。字符串需要具有正确的Unicode字符,而不是html转义符,而不是UTF-8字节。一旦字符串具有正确的Unicode字符,您就可以将它与mimeMessage.setSubject(subj,“utf-8”)和新的InternetAddress(地址,个人,“utf-8”)一起使用。