我的 fetchmail (v6.4.24) 正在连接到一个保存许多域邮件的 MTA,并且它具有每个域的证书。 MTA(运行 dovecot)期望客户端使用 TLS SNI 向客户端提供正确的证书。
fetchmail 似乎不支持 TLS SNI,因此 dovecot 只在配置文件中显示第一个证书设置,这会导致 fetchmail 尝试检索邮件时 SSL 证书不匹配。但是,我没有使用 --sslcertck 命令行选项,也没有使用 sslcertck 运行控制文件选项,因此(根据文档)fetchmail 应该继续处理。但还是失败了,如下图所示:
fetchmail: Server CommonName mismatch: mta.fqdn1 != mta.fqdn2
fetchmail: mta.fqdn2 key fingerprint: 85:11:19:4A:2B:C0:D7:68:85:5F:52:CC:B8:2A:C5:61
fetchmail: Server certificate verification error: hostname mismatch
fetchmail: OpenSSL reported: error:0A000086:SSL routines::certificate verify failed
fetchmail: mta.fqdn2: SSL connection failed.
为什么 fetchmail 会因此错误而断开连接?是否有一个 rc 文件选项可以忽略证书并继续?
我的 fetchmail rc 条目如下:
poll mta.fdqn1
proto pop3
bad-header accept
user user@fqdn1
pass pass
smtpname 'user@fqdn1'
smtphost 1.2.3.4/940
options ssl
fetchall
antispam 501
nokeep
dropdelivered