前言:
任何事情都會有辦法解決,相信自己一定可以!
問題:
使用Java Mail 收取網易郵箱的郵件時,可能會有這個錯誤(因爲我是用手機號新註冊的網易163郵箱,老賬號沒發現有這個錯誤)
javax.mail.MessagingException: A3 NO SELECT Unsafe Login. Please contact [email protected] for help;
nested exception is:
上面的意思是網易提示不安全的登錄,然後你的收件箱裏會收到一封郵件,截圖如下:
網易爲了推廣自己家的產品“郵箱大師”(我手機上裝的就是郵箱大師,確實做得還不錯,網易的產品確實都還可以),不讓使用第三方的客戶端收件網易的郵件,這個有點過了吧,看到這個帖子後發現,大家都遇到了這個問題,引起公憤了看來
https://www.v2ex.com/t/152504
言歸正傳,網易還算留有餘地,那就開啓驗證吧,入口鏈接如下:
Tips:
從下面評論可以看到,有些這個入口打不開,可能是因爲郵箱比較老的原因,這些我還在查,也許這個方式就行不通了,可能需要在收取郵件的時候加上客戶端的標識(一個屬性),這篇博客,我用的都是新註冊的126和163郵箱,並綁定了自己的手機號,用上面的驗證可以完美使用,有機會我再查查,然後更新本篇博客,大家多討論吧,我也是剛接觸這個JavaMail,互相學習,嘿嘿!
20170919更新說明
針對該網易開發的鏈接有時驗證不了的問題,最近我使用我“手機號郵箱”(沒有綁定字母郵箱)進行驗證,發現驗證不了(之前確實是可以的),還是報了文章標題這個錯誤,多方搜索後發現下面這個帖子:
但是這個哥們是通過修改源碼解決的,意思是在openFolder前,加入ID,Command的命令,即IMAP的一些指令,這個說實話,我不會,我正在再私信這個哥們,暫時沒有回覆.
所以我還是用老方式吧,這裏我又註冊一個新的網易郵箱(這次我註冊的是“字母”郵箱,雖然綁定了手機號,同一個手機號可以擁有好幾個郵箱,沒有測試過上限),這個時候,我還沒有驗證,我使用網易官方郵箱大師和QQ郵箱均登錄不上去(這是正常,因爲我還沒有開啓IMAP/SMTP協議),開啓協議後,我使用網易可以登錄(因爲自家的郵箱大師不用驗證那一步),使用QQ郵箱發現拉取不了郵件,這就正常了,QQ郵箱也屬於“郵箱大師”之外的第三方郵箱客戶端嘛,也是需要走這個驗證的,因此還是需要走這個驗證,網易有點噁心,太特殊了.
下面還是驗證的步驟,及截圖
正常輸入鏈接後出現的界面
第二步就是要驗證該“字母”郵箱所綁定的手機號
驗證成功,可以使用“你自己的客戶端”進行對網易郵箱的收發
總結
1.如果在0919更新前的那種方式驗證不通過的話,說明你的是純手機號的郵箱(因爲手機號郵箱在輸入鏈接後,瀏覽器總是會提示你“不安全”從而導致鏈接不可用),這個時候你可以綁定一個你的字母郵箱,之後,使用字母郵箱進行驗證,即可驗證通過.
2.修改源碼那種方式,我不會,大家有會的,可以修改後,共享下,目前JavaMail 1.6.0最新版.