1.協(xié)議問題,收取郵件使用pop3協(xié)議和imap協(xié)議;pop3協(xié)議不支持使用篩選條件searchTerm,可以使用folder.getMwssage相關(guān)的幾個(gè)方法可以按郵件編號(hào)做到分頁(yè)取郵件的效果(之前用多線程去同步多個(gè)郵箱賬號(hào)的收件箱,因?yàn)猷]件對(duì)象較大并且郵件較多導(dǎo)致內(nèi)存溢出,使服務(wù)掛掉了);imap協(xié)議可以支持部分條件篩選,例如按發(fā)件日期,但是不能精確到時(shí)分秒;具體篩選條件可以看javaMail中searchTerm相關(guān)類。
在一本講解tcp/ip協(xié)議棧的書中看到,pop3協(xié)議只支持客戶端將郵件下載到本地操作,沒有支持客戶端操作pop3郵件服務(wù)器的功能;但是imap對(duì)這一方面做了優(yōu)化,可以簡(jiǎn)單操作imap郵件服務(wù)器。
2.使用jdk1.8的應(yīng)用無(wú)法和部分郵箱連接成功,會(huì)報(bào)一個(gè)握手錯(cuò)誤,hand什么的(這個(gè)看到就知道了),導(dǎo)致這個(gè)問題的原因是jdk中的security組件默認(rèn)支持的是tlsv1.2,而郵件服務(wù)器用的是tlsv1的協(xié)議;將jdk中的security中兩個(gè)相關(guān)jar包替換到低版本的就可以了。(但是官方建議使用tlsv1.2的協(xié)議,這個(gè)更安全,估計(jì)相關(guān)郵件服務(wù)器之后都會(huì)升級(jí)到相應(yīng)版本)