java-无法获取MimeMessage的message_ID
作者:互联网
我有一个使用Java Mail-1.5的Java程序,该程序可以获取和处理Gmail(IMAP)的message(email).
在大多数情况下,它工作正常,但是当我尝试使用MimeMessage获取message_id时,对于一些消息,它给了我NULL.在那种情况下,我无法处理消息,因为messageID对于消息是唯一的.
String messageID = ((MimeMessage) msg).getMessageID(); //NULL for few messages.
还有其他获取消息ID的方法,因为我不想忽略此类消息.
解决方法:
String messageID = ((MimeMessage) msg).getMessageID();
如果此字段不可用或其值不存在,则返回null.
您可以创建自己的消息ID(如果为null)
StringBuffer s = new StringBuffer();
if(messageId == null)
messageId = s.append(s.hashCode()).append('.').append(getUniqueId()).append('.').
append(System.currentTimeMillis()).append('.').
append("JavaMail");
这是发送邮件时如何创建和设置邮件ID的方法.您可以根据自己的要求进行实施,然后继续处理您的消息
标签:javamail,imap,java 来源: https://codeday.me/bug/20191122/2058710.html