我正尝试向波兰最大的托管公司之一发送电子邮件,但他们的服务器拒绝接收该电子邮件,并显示以下消息:
TLS connect failed: error:140943FC:SSL routines:SSL3_READ_BYTES:sslv3 alert bad record mac; connected to 89.161.199.168.
I'm not going to try again; this message has been in the queue too long.
我已经联系该公司并得到回复:
“我们的验证显示,服务器 mail.domainhere.pl 正在尝试通过 SSL/TLS 协议连接到我们的服务器。我们的服务器不支持这种形式的连接,但我想指出的是,我们的服务器配置正确,符合当前的 RFC 标准。以下建立连接的方法是服务器之间通信的非标准方法。”
我在 CentOS 6.5 64 位上使用 Qmailtoaster。即使我在邮件客户端中不使用 SSL,也会发生这种情况!
我的 SMTP 配置示例:
#!/bin/sh
QMAILDUID=`id -u qmaild`
NOFILESGID=`id -g qmaild`
MAXSMTPD=`cat /var/qmail/control/concurrencyincoming`
BLACKLIST=`cat /var/qmail/control/blacklists`
SMTPD="/var/qmail/bin/qmail-smtpd"
TCP_CDB="/etc/tcprules.d/tcp.smtp.cdb"
RBLSMTPD="/usr/bin/rblsmtpd"
HOSTNAME=`hostname`
VCHKPW="/home/vpopmail/bin/vchkpw"
RECORDIO="/usr/bin/recordio"
### MR -- incresing SOFTLIMITVAR if not enough (example: because 'login fail')
if [ `uname -m` = 'x86_64' ] ; then
SOFTLIMITVAR="72000000"
else
SOFTLIMITVAR="18000000"
fi
IP=0
PORT=25
### MR -- SSL must using SMTPS=1 and SSL=1 but non-SSL only SSL=0 (without SMTPS=0)
export SMTPAUTH="!" \
SSL=0 \
REQUIRE_AUTH=0 \
FORCE_TLS=0 \
DENY_TLS=0 \
AUTH=1 \
REQUIRE_AUTH=0 \
ALLOW_INSECURE_AUTH=1
### MR -- spamhaus.org recommended for not using $RBLSMTPD $BLACKLIST entry before $SMTPD
exec /usr/bin/softlimit -m $SOFTLIMITVAR \
/usr/bin/tcpserver -v -R -H -l $HOSTNAME -x $TCP_CDB -c "$MAXSMTPD" \
-u "$QMAILDUID" -g "$NOFILESGID" $IP $PORT $RECORDIO \
$SMTPD $VCHKPW /bin/true 2>&1
如何纠正这个问题?
答案1
如果 /var/qmail/control/notlshosts/host.dom.ain 存在,则不会在该主机上尝试 TLS。
将一个与您要发送到的 mx 域名相同的文件添加到 /var/qmail/control/notlshosts/ 以仅为该域禁用 TLS。
(如果 notlshosts 不存在):
mkdir /var/qmail/control/notlshosts
然后,创建文件:
touch /var/qmail/control/notlshosts/example.com
编辑:Superbiji 是正确的,文件名应该是域的 mx 主机名,而不仅仅是域。
所以
touch /var/qmail/control/notlshosts/mx.example.com
是一个更合适的例子,或者其他什么
dig example.com MX
返回
答案2
解决方法很简单:
mkdir /var/qmail/control/tlshosts/exhaustivelist
这将关闭所有域的 TLS:
tlshosts/exhaustivelist
if this file exists no TLS will be tried on hosts
other than those for which a file tlshosts/<FQDN>.pem
exists.
甚至不需要重新启动 qmail ;)