當前位置:吉日网官网 - 錢幣收藏 - 急:如何獲取JavaMail中所有的“未讀”郵件;可以通過uid實現嗎?具體是如何實現的?

急:如何獲取JavaMail中所有的“未讀”郵件;可以通過uid實現嗎?具體是如何實現的?

因為pop3本身不提供Flag的功能,所以壹般沒有辦法判斷通過pop3獲取的消息是否已經被讀取。

但是,壹些服務提供商會在郵件頭中添加關於郵件是否已被閱讀的信息。

可以嘗試使用message.getHeader(String name)來獲取頭的信息,比如使用。

message.getHeader("Status ")

也許妳看了就能得到信息(也許,因為這句話的成功與否取決於服務提供者是否加入信息,以及使用的名稱是否為“身份”)

如果妳需要檢查所有的報頭來確定這個服務提供者是否加入了消息的狀態信息,妳可以使用

Message.getAllHeaders()(枚舉

得到所有的標題,並逐壹檢查。如果都沒有,那就沒辦法了。

********************************************************

Imap提供了標誌,可以使用

message.getFlags()。getsystem flags();

獲取Flag[],然後看它是否不為空並且包含Flag.SEEN,如果是,則為已讀,否則為未讀。

例如,以下方法可以返回消息已讀的狀態(true=已讀,false=未讀):

必需的進口:

導入javax . mail . message;

導入javax . mail . messaging exception;

導入javax . mail . flags . flag;

代碼:

私有布爾值isRead(消息消息)

拋出消息異常{

Flag[] flags = message.getFlags()。getsystem flags();

for (Flag f : flags) {

if (f.equals(Flag。看過))

返回true

}

返回false

}

希望這些能幫到妳。

  • 上一篇:QQ上存的在哪裏?
  • 下一篇:我在深圳羅湖古玩城~去布吉農貿市場坐什麽車?謝謝大家!!
  • copyright 2024吉日网官网