Dovecot
Dovecot 未嘗試對客戶端進行身份驗證
我們剛剛將電子郵件遷移到新伺服器,但新系統無法辨識客戶端登錄嘗試,在郵件日誌中顯示消息“已斷開連接(0 秒內未嘗試身份驗證):user=<>”。
這個問題幾乎毫無疑問是因為一個或多個配置文件沒有被複製或正確配置,或者可能是因為沒有安裝身份驗證系統。唯一的問題是,哪一個?
該系統是基本的postfix + dovecot。複製過來的配置文件都是來自/etc/postfix 和/etc/dovecot 的配置文件。
在伺服器設置期間,使用 yum 安裝了 dovecot 和 postfix。
伺服器是 Rackspace 伺服器上的 Fedora 19,唯一安裝的其他應用程序是 MySQL 和 Apache。
Postfix 和 Dovecot 都在啟動時不顯示任何錯誤消息。
鴿舍-n
# 2.2.7: /etc/dovecot/dovecot.conf # OS: Linux 3.11.4-201.fc19.x86_64 x86_64 Fedora release 19 (Schrödinger’s Cat) auth_mechanisms = cram-md5 plain auth_verbose = yes disable_plaintext_auth = no mbox_write_locks = fcntl namespace inbox { location = mailbox Drafts { special_use = \Drafts } mailbox Junk { special_use = \Junk } mailbox Sent { special_use = \Sent } mailbox "Sent Messages" { special_use = \Sent } mailbox Trash { special_use = \Trash } prefix = } passdb { args = scheme=cram-md5 /etc/cram-md5.pwd driver = passwd-file } passdb { driver = pam } service auth { unix_listener /var/spool/postfix/private/auth { group = postfix mode = 0660 user = postfix } } ssl_cert = </etc/pki/dovecot/certs/dovecot.pem ssl_key = </etc/pki/dovecot/private/dovecot.pem userdb { args = uid=vmail gid=vmail home=/var/spool/vhosts/%d/%n /etc/dovecot/userdb driver = static } userdb { driver = passwd }
大約每秒一次將如下一行添加到日誌中:
dovecot: imap-login: Disconnected (no auth attempts in 1 secs): user=<>, rip=1.2.3.4, lip=9.A.B.C, TLS handshaking: Disconnected, session=
大約每 3 分鐘添加如下三組行:
dovecot: imap-login: Login: user=<username@example.com>, method=CRAM-MD5, rip=1.1.1.1, lip=2.2.2.2, mpid=17131, session=<BS5K3XPrqAC8HJXQ> gp8 dovecot: imap(username@example.com): Error: user username@example.com: Initialization failed: Namespace '': Mail storage autodetection failed with home=/var/spool/vhosts/example.com/username gp8 dovecot: imap(username@example.com): Error: Invalid user settings. Refer to server log for more information.
值得一提的是,似乎傳入的郵件正在正確地傳遞到 maildir。
我已經接受了 MadHatter 對這個問題的回答,結果是(很多)失去了 dovecot 配置文件。儘管接受的答案並沒有準確指出這一點,但它確實讓我仔細檢查了複製的內容。
我現在對 dovecot 還有一個問題,但會問另一個問題來解決它。
根據我們上面的評論,問題似乎與 SSL/TLS 相關。您告訴我有問題的客戶端未配置為使用 SSL 或 TLS,但在
dovecot -n
您問題的輸出中,該行ssl = required
出現。我懷疑當客戶端連接到明文服務(埠 143)時,被配置為需要加密的守護程序會立即嘗試使用 TLS。由於客戶端沒有為此進行配置,因此它忽略了提升安全性的嘗試,導致伺服器感到沮喪並因日誌錯誤而斷開連接
TLS handshaking: Disconnected