我有以下代码从YahooMail获取收件箱: -
this._store = _session.getStore("imaps");
this._store.connect("imap.mail.yahoo.com", 993, this._uid, this._pwd);
Folder inbox = this._store.getFolder("Inbox");
SearchTerm unread = new FlagTerm(new Flags(Flag.SEEN), false);
IMAPMessage[] msgs = (IMAPMessage[]) inbox.search(unread);
这会以变量 msg 的形式返回未读消息。 我之前有这行代码与 gmail : -
一起工作正常String ref = msg.getHeader("References")[0];
但现在雅虎,这给了我Null Pointer Exception.
现在问题是,YahooMail中的引用是否存储在邮件标题中,与Gmail不同?
答案 0 :(得分:0)
回复邮件时设置引用标头。如果您正在阅读的邮件不是回复,则不太可能有引用标头。甚至对于回复,它取决于发送回复添加标题的邮件程序;有些人没有。你总是必须准备好丢失标题。
答案 1 :(得分:0)
参考文献在Yahoo邮件中设置,就像Gmail和其他电子邮件提供商电子邮件一样。
有关详细信息,请参阅此文档:http://cr.yp.to/immhf/thread.html
Bill Shannon提到的问题是,对于第一条消息,之前没有回复过邮件。参考文献是空的。所以下面的代码给出了错误:
String ref = msg.getHeader("References")[0];
这只需要异常处理,其余的工作正常。