問題描述
我們最開始使用 Thunderbird 郵件客戶端,但是在 GNOME 3 中當收到郵件時卻沒有任何消息提示,但偶爾又會有提示。鑒於我們沒有找到相關的解決方案,因此只能更換郵件客戶端,畢竟新郵件通知這個特性對我們來說很重要。
但是,如果更換郵件客戶端,我們又要面臨新問題:郵件客戶端必須支持 rfc2971 定義的 ID 命令,否則無法登錄 163 郵箱(imap連接提示Unsafe Login,被阻止的收信行為,參考常見問題記錄部分的說明)。騰訊郵箱肯定是不存在該問題的,因為我們能夠正常登錄企業郵箱,至於其他郵箱服務是否存在該問題我們還不清楚。
該筆記將記錄:在 Linux 中,我們使用過的郵件客戶端以及常見問題,而子章節將記錄與特定客戶端相關的設置方法。
解決方案
GNOME Evolution(正在使用)
Apps/Evolution - GNOME Wiki!
Gnome Evolution - General - Mail server doesn't show up
# 04/27/2021 目前,我們無法登錄 163 郵箱,因為當前版本不支持 ID 命令。如果使用 POP 協議,那么側欄不會顯示郵箱帳號(因為 POP 中沒有帳號的概念),而郵件都下載到側欄 On This Computer 目錄中。為了解決該問題,我們改用 Outlook 郵箱,或者其他遵循標准且從國內容易登錄的國外郵箱。
Thunderbird
Thunderbird — Make Email Easier. — Thunderbird
# 04/29/2021 在 Debian 10 中,Thunderbird 無法正確進行郵件通知,而我們又十分依賴於該功能,因此只能放棄使用 Thunderbird 郵箱。
Mailspring
Foundry376/Mailspring: A beautiful, fast and fully open source mail client for Mac, Windows and Linux.
Mailspring - The best free email app
# 04/29/2021 Star 10.6k
Nylas Mail - the open-source, extensible mail client
nylas/nylas-mail: An extensible desktop mail app built on the modern web. Forks welcome!
# 04/29/2021 Star 24.6k
Kanmail
Oxygem/Kanmail: An email client that functions like a kanban board.
# 04/29/2021 Star 851
常見問題記錄
郵箱服務的地址信息
163.com
SMTP, smtp.163.com, 25, 465(ssl)
POP, pop.163.com, 110, 995(ssl)
IMAP, imap.163.com, 143, 993(ssl)
qq.com
SMTP, smtp.qq.com, 465(ssl), 587(ssl)
IMAP, imap.qq.com, 993(ssl)
exmail.qq.com(國內用戶)
SMTP, smtp.exmail.qq.com, 465(ssl)
IMAP, imap.exmail.qq.com, 993(ssl)
exmail.qq.com(海外用戶)
SMTP, hwsmtp.exmail.qq.com, 465(ssl)
IMAP, hwimap.exmail.qq.com, 993(ssl)
"This phone number cannot be used for verification"
谷歌google帳號注冊時,手機號碼無法用於進行驗證怎么辦?
# 03/20/2021 當注冊 Google 帳號時,其中某個步驟是填寫手機號碼,但是會提示 "This phone number cannot be used for verification" 錯誤。此時,需要通過 Gmail 手機 APP 注冊,以繞過該限制。
Failed to select mailbox: SELECT Unsafe Login. Please contact kefu@188.com for help
imap連接提示Unsafe Login,被阻止的收信行為
https://www.ietf.org/rfc/rfc2971.txt%20
問題描述:在添加 163 郵箱時,返回如下錯誤:
The reported error was “Failed to select mailbox: SELECT Unsafe Login. Please contact kefu@188.com for help”.
原因分析:參考 imap連接提示Unsafe Login,被阻止的收信行為 文檔。因為 163 實現 RFC 2971 的 ID 命令,要求在操作過程中使用 ID 命令發送客戶端信息。但是又未全部實現,因為 RFC 2971 要求 Servers MUST NOT deny access to or refuse service for a client based on information from the ID command. Clients MUST NOT refuse to response. 不能拒絕響應。說到底就是,未完全實現規范的要求。
解決方法:我們是郵件客戶端,除非其支持 ID 命令,否則我們無法使用 Evolution 客戶端。因此我們不再使用 163 郵箱,改用 Outlook 郵箱,這樣就能繼續使用 Evolution 郵箱客戶端,以及其他有郵箱客戶端。
如果是 Java 代碼,能夠在代碼中發送 ID 命令:
Properties props = new Properties(); props.setProperty("mail.store.protocol", "imap"); props.setProperty("mail.imap.host", "imap.163.com"); props.setProperty("mail.imap.port", "143"); HashMap IAM = new HashMap(); //帶上IMAP ID信息,由key和value組成,例如name,version,vendor,support-email等。 IAM.put("name","myname"); IAM.put("version","1.0.0"); IAM.put("vendor","myclient"); IAM.put("support-email","testmail@test.com"); Session session = Session.getInstance(props); IMAPStore store = (IMAPStore) session.getStore("imap"); //下方替換對應帳號和授權碼 store.connect("testmail@163.com", "password"); store.id(IAM);
相關文章
「7.COMPILATION OPTIONS」
「ASCII Table」- 整理(ASCII 碼表)
「Zim」- 模板
「IntelliJ IDEA」
「AAlib」- 將圖形轉化為字符畫
「Eclipse」- 安裝插件市場(Marketplace)
「PyCharm」- 進行 Python 代碼調試
「FVWM」- FvwmConsole
參考文獻
https://www.ietf.org/rfc/rfc2971.txt
Outlook添加網易郵箱
QQ郵箱幫助中心/如何使用IMAP服務?
騰訊企業郵箱幫助中心/如何使用IMAP服務?
1112549 - [FFOS2.0][Woodduck][Email]Can not create 163 email account in Email app