我正在尝试向波兰最大的托管公司之一发送电子邮件,但他们的服务器拒绝接收带有消息的邮件:
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
如何纠正这个?
添加一个带有您要发送到的 mx 域名称的文件到 /var/qmail/control/notlshosts/ 以仅禁用该域的 TLS。
(如果 notlshosts 不存在):
然后,创建文件:
编辑:Superbiji 是正确的,文件名应该是域的 mx 主机名,而不仅仅是域。
所以
是一个更合适的例子,或者其他
返回
解决方法很简单:
这将关闭所有域的 TLS:
甚至不需要重新启动 qmail ;)