编程语言
首页 > 编程语言> > java-无法获取MimeMessage的message_ID

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