但是,壹些服務提供商會在郵件頭中添加關於郵件是否已被閱讀的信息。
可以嘗試使用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
}
希望這些能幫到妳。