Dovecot 从 dovecot-2.2 升级到 dovecot-2.3 后,我的电子邮件客户端收到错误消息“执行 TLS 握手时出错:收到了意外的 TLS 数据包。”。Evolution 电子邮件客户端未收到任何电子邮件。服务器是:Debian 10/Buster/Sid。使用 [https://workaround.org/ispmail/stretch][1]。
答案1
昨晚升级到 Debian 10 (Buster) 后,我遇到了同样的问题。我按照这个主题中的第二个答案操作,但没有解决问题。然后我去阅读了 dovecot 文档https://wiki.dovecot.org/SSL/DovecotConfiguration需要在主 dovecot.conf 文件中添加 dh.pem 文件的新条目:
sudo nano /etc/dovecot/dovecot.conf
然后手动添加 dh.pem 文件的位置,因为 dovecot 2.3 不会自动执行此操作。
ssl_dh =</etc/dovecot/dh.pem
就我而言,在文件 /etc/dovecot/10-ssl.conf 中,dh.pem 文件的位置位于 /usr/share/dovecot/dh.pem,因此 OP 的步骤确实为我指明了正确的方向。
对于将 TSL 版本更改为 SSL1.2 的用户,请注意 iOS 原生邮件应用程序仅支持 POP3 和 IMAP 的 SSL1。
答案2
根据 Steffen Ullrich 的反馈,我修改了我的原始答案。我认为 Evolution 和 Dovecot 交互是我在升级 dovecot 时遇到的问题。我通过更改 dovecot 中的 ssl/tls 配置使电子邮件正常工作。确保您拥有 dovecot-2.3。所有命令都是从终端完成的。我首先创建了一个新的 Diffie Hellman 参数文件。
cd /etc/dovecot
openssl dhparam 4096 > dh.pem
我删除了文件“/etc/dovecot/conf.d/10-ssl.conf”中的以下几行
ssl_protocols = !SSLv2 !SSLv3
我在文件“/etc/dovecot/conf.d/10-ssl.conf”中添加并修改了以下几行
ssl_dh =</etc/dovecot/dh.pem
ssl_min_protocol = TLSv1.2
ssl_cipher_list = ALL:!kRSA:!SRP:!kDHd:!DSS:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK:!RC4:!ADH:!LOW:!DH@STRENGTH
ssl_prefer_server_ciphers = yes
重启 dovecot 服务
sudo systemctl restart dovecot
检查 dovecot 服务是否正在运行
sudo systemctl status dovecot
答案3
我通过更改 dovecot 中的 ssl/tls 配置使电子邮件正常工作。确保您使用的是 dovecot-2.3。所有命令均从终端完成。我首先创建了一个新的 Diffie Hellman 参数文件。
cd /etc/dovecot`
openssl dhparam 4096 > dh.pem`
我删除了文件“/etc/dovecot/conf.d/10-ssl.conf”中的以下几行
ssl_protocols = !SSLv2 !SSLv3
我在文件“/etc/dovecot/conf.d/10-ssl.conf”中添加并修改了以下几行
ssl_dh =</etc/dovecot/dh.pem
ssl_min_protocol = TLSv1.2
ssl_cipher_list = ALL:!kRSA:!SRP:!kDHd:!DSS:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK:!RC4:!ADH:!LOW:!DH@STRENGTH
ssl_prefer_server_ciphers = yes
重启 dovecot 服务
sudo systemctl restart dovecot
检查 dovecot 服务是否正在运行
sudo systemctl status dovecot