Postfix
Mailx SSL/TLS 握手失敗:未知錯誤 -5938
我有 2 台 Linux CentOS 7 機器、一台 Samba 伺服器和一台 Postfix 伺服器。Postfix 伺服器配置為使用 SASL 身份驗證和 TLS 加密。在 Samba 伺服器上,我可以使用 openssl 連接到 Postfix 伺服器。
[root@samba1 ~]# openssl s_client -connect mail.example.com:587 -starttls smtp -CAfile /etc/pki/tls/mail.example.com.pem
當我在 Samba 伺服器上使用 mailx 時,我收到消息“ SSL/TLS 握手失敗:未知錯誤 -5938 ”。
[root@samba1 ~]@ echo "Hello World" | mailx -v -s "Test" -A default first.last@hotmail.com Resolving host mail.example.com . . . done. Connecting to 192.168.0.10:587 . . . connected. SSL/TLS handshake failed: Unknown error -5938.
在 Postfix 伺服器上的 /var/log/maillog 中,我確實看到了一些 TLS 事件。
Nov 25 19:23:05 mail postfix/smtpd[5659]: initializing the server-side TLS engine Nov 25 19:23:05 mail postfix/smtpd[5659]: connect from samba1.example.com[192.168.0.12] Nov 25 19:28:05 mail postfix/smtpd[5659]: timeout after UNKNOWN from samba1.example.com[192.168.0.12]
這是我在 Samba 伺服器上的 /etc/mail.rc 文件。
[root@samba1 ~]# cat /etc/mail.rc account default { set smtp=smtps://mail.example.com:587 #Authentication set smtp-auth=login set smtp-auth-user=my.email@example.com set smtp-auth-password="my_password" #Encryption set smtp-use-starttls set nss-config-dir=/etc/pki/nssdb } set hold set append set ask set crt set dot set keep set emptybox set indentprefix="> " set quote set sendcharsets=iso-8859-1,utf-8 set showname set showto set newmail=nopoll set autocollapse set markanswered ignore received in-reply-to message-id references ignore mime-version content-transfer-encoding fwdretain subject date from to set bsdcompat
本文建議註釋掉 smtp-use-starttls,這似乎不適用於我的情況,因為我的 Postfix 伺服器配置為使用 TLS。如果我註釋掉 smtp-use-starttls,我仍然會收到 5938 消息。
這篇文章建議您可以確保兩台伺服器都使用相同版本的 TLS。我將 ssl-method=tls1 添加到 Samba 伺服器上的 /etc/mail.rc 中,但仍然收到 5938 消息。
使用certutil,我確實在 Samba 伺服器上的 /etc/pki/nssdb 中看到了我的證書,並且它是有效的。
[root@samba1 ~]# certutil -V -n "mail.example.com.crt" -d /etc/pki/nssdb -u A certutil: certificate is valid
這是nssdb的內容
-rw-r--r--. 1 root root 65536 Nov 25 17:56 cert8.db -rw-r--r--. 1 root root 9216 Jun 26 08:51 cert9.db -rw-r--r--. 1 root root 16384 Nov 25 17:56 key3.db -rw-r--r--. 1 root root 11264 Jun 26 08:51 key4.db -rw-r--r--. 1 root root 451 Apr 25 2016 pkcs11.txt -rw-r--r--. 1 root root 16384 Apr 25 2016 secmod.db
我不確定接下來我應該為這個異常做些什麼。
smtps:表示初始連接SSL/TLS,587不支持。您想要連接然後啟動 SSL/TLS,通常稱為 starttls。
採用:
smtp=server:587
和
smtp-use-starttls