我正在使用java
从邮件收件箱解析邮件,邮件内容是正确的,但是邮件标题是中文错误代码时出错。代码:subject = message.getSubject();
subject
有一些中文错误代码。
有一些代码如下:
Properties props = new Properties();
props.setProperty("mail.store.protocol", mailProtocol.getProtocol());
props.setProperty(mailProtocol.getHostName(), mailProtocol.getHost());
props.setProperty(mailProtocol.getPortName(), mailProtocol.getPort());
String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
props.put("mail.pop3.socketFactory.class", SSL_FACTORY);
Session session = Session.getInstance(props);
Store store = session.getStore();
store.connect(cVMailbox.getBoxUserName(), pwd);
Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_ONLY);
for (int i = folder.getMessageCount(); i > 1; i--) {
Message message = folder.getMessage(i);
MimeMessage msg = (MimeMessage)message;
sentDate = message.getSentDate();
subject = message.getSubject();
}
如何获得正确的邮件标题?有人可以帮帮我吗?
答案 0 :(得分:1)
在会话初始化之前输入以下代码:
System.setProperty("mail.mime.decodetext.strict", "false");
然后尝试以下代码:
String subject = MimeUtility.decodeText(message.getSubject());