我已经设置了 Dovecot 并进行了有效配置(使用dovecot -n
)
# 2.3.7.2 (3c910f64b): /etc/dovecot/dovecot.conf
# OS: Linux 5.2.15-200.fc30.x86_64 x86_64 Fedora release 30 (Thirty)
# Hostname: <my hostname>
auth_debug = yes
auth_mechanisms = plain login
auth_verbose = yes
listen = 10.168.0.9,<my external IP>
mail_location = mbox:~/mail:INBOX=/var/mail/%u
mbox_write_locks = fcntl
namespace inbox {
inbox = yes
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 {
driver = pam
}
protocols = imap
ssl_cert = </etc/letsencrypt/live/<my hostname>/cert.pem
ssl_cipher_list = PROFILE=SYSTEM
ssl_key = # hidden, use -P to show it
userdb {
args = blocking=no
driver = passwd
}
verbose_ssl = yes
我正在尝试使用 Thunderbird 60.9.0 连接到它,但无论我使用端口 143 还是 993,都不会进行身份验证。journalctl -efu dovecot.service
输出:
Sep 21 21:43:58 <myhostname> dovecot[31705]: auth: Debug: auth client connected (pid=2668)
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x10, ret=1: before SSL initialization
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x2001, ret=1: before SSL initialization
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x2002, ret=-1: before SSL initialization
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x2001, ret=1: before SSL initialization
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x2001, ret=1: SSLv3/TLS read client hello
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x2001, ret=1: SSLv3/TLS write server hello
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x2001, ret=1: SSLv3/TLS write certificate
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x2001, ret=1: SSLv3/TLS write key exchange
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x2001, ret=1: SSLv3/TLS write server done
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x2002, ret=-1: SSLv3/TLS write server done
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x2002, ret=-1: SSLv3/TLS write server done
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x2002, ret=-1: SSLv3/TLS write server done
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x2002, ret=-1: SSLv3/TLS write server done
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x2001, ret=1: SSLv3/TLS write server done
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x2001, ret=1: SSLv3/TLS read client key exchange
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x2001, ret=1: SSLv3/TLS read change cipher spec
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x2001, ret=1: SSLv3/TLS read finished
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x2001, ret=1: SSLv3/TLS write session ticket
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x2001, ret=1: SSLv3/TLS write change cipher spec
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x2001, ret=1: SSLv3/TLS write finished
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x20, ret=1: SSL negotiation finished successfully
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x2002, ret=1: SSL negotiation finished successfully
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Aborted login (no auth attempts in 0 secs): user=<>, rip=10.168.0.53, lip=<myhostextip>, TLS, session=<OvtgaBWT5iUKqAA1>
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL alert: close notify
错误似乎出现在倒数第二行:“0 秒内没有进行任何身份验证尝试。” Thunderbird 客户端与 Ubuntu 上安装的 dovecot 连接时出现问题表明证书例外可能存在问题。我删除了 Thunderbird(Windows 版本)中存储的证书,然后在“管理证书”下重新获取证书并添加安全例外。这没有帮助。此外,上面的日志文件表明证书对话框正常。
如果我添加cram-md5
为支持的身份验证机制,我将另外auth: Fatal: CRAM-MD5 mechanism can't be supported with given passdbs
在日志中获得。
我没有看到什么,或者我误解了什么或做错了什么?我该如何让它工作?
编辑:使用 Thunderbird x64 进行测试,它将使用全新的配置文件。不起作用。尝试将 Thunderbird 从 60 升级到 68。没有帮助。使用 Mozilla 的日志功能来记录身份验证和 IMAP 流量。身份验证中没有记录任何内容,IMAP 流量中也没有记录任何有关 dovecot 服务的内容。
答案1
问题在于证书。虽然证书是可信的,但它被分配给了服务器的公开使用名称。我使用内部 IP 地址从内部网络访问服务器。因此,Thunderbird 拒绝与服务器通信。
在将连接安全性设置为“无”并将身份验证方法设置为“普通密码”之前,确认安全例外对此事没有帮助,这使我能够退出初始帐户设置配置窗口。之后,将帐户设置改回 SSL/TLS 和“普通密码”使 Thunderbird 提示我输入安全例外,我确认了这一点,现在它可以正常工作了。