0

我有以下从 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.

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

4

2 回答 2

0

回复邮件时会设置参考标头。如果您正在阅读的消息不是回复,则它不太可能有参考标头。即使对于回复,它也取决于发送回复以添加标题的邮件;有些没有。您始终必须为标题丢失做好准备。

于 2013-08-28T20:35:23.663 回答
0

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

有关更多信息,请参阅此文档:http: //cr.yp.to/immhf/thread.html

像比尔香农提到的问题是,对于第一条消息,之前没有回复邮件。参考文献为空。所以下面的代码给出了错误:

String ref = msg.getHeader("References")[0];

这只需要异常处理,其余的都可以正常工作。

于 2013-08-29T06:43:24.980 回答