Java 如何在Yahoo mail中获取电子邮件参考?

Java 如何在Yahoo mail中获取电子邮件参考?,java,email,jakarta-mail,yahoo,Java,Email,Jakarta Mail,Yahoo,我有以下代码从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); IM

我有以下代码从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];
但现在在雅虎,这给了我
空指针异常。


现在的问题是,与Gmail不同,YahooMail中的引用是否没有存储在邮件标题中?

当您回复邮件时,引用标题会被设置。如果您正在阅读的邮件不是回复,则不可能有引用标头。即使对于回复,也取决于发送回复的邮件发送者添加标题;有些没有。你必须随时准备好邮件头的丢失。

参考信息是在Yahoo mail中设置的,就像Gmail和其他电子邮件提供商的电子邮件一样

有关更多信息,请参阅此文档:

比尔·香农(Bill Shannon)提到的问题是,对于第一封邮件,之前没有回复邮件。引用是空的。因此,以下代码给出了错误:

String ref = msg.getHeader("References")[0];
这只需要异常处理,其余部分工作正常