Docker容器中修改Sendmail的HELO/EHLO头部无效的问题求助
Docker容器中修改Sendmail的HELO/EHLO头部无效的问题求助
大家好,我遇到了一个Sendmail配置的棘手问题,想请教下各位的解决思路。
我的环境是Debian 11的Docker容器,里面装了Sendmail v8.15.2作为MTA。现在容器所在的主机IP被spamhaus.org拉黑了,原因是发送邮件时HELO头部带的是容器的本地IP地址,收到的官方提示是:
{Host IP} is making SMTP connections with HELO values that use a bare IP address.
我先是按照网上的教程修改了/etc/mail/sendmail.mc,添加了这两行配置:
define(`confDOMAIN_NAME', `my-domain.example.com')dnl define(`confHELO_NAME', `my-domain.example.com')dnl
接着执行了命令重新生成配置文件并重启服务:
m4 sendmail.mc > sendmail.cf service sendmail restart
检查生成的sendmail.cf,确实已经包含了对应的配置项:
Djmy-domain.example.com O HeloName=my-domain.example.com
但问题完全没解决!我用这条命令测试发信时:
echo "Subject: sendmail test" | sendmail -v -f "test@my-domain.example.com" testing@mailinator.com
查看verbose输出,依然能看到EHLO用的是容器的本地IP:
050 >>> EHLO 10.0.1.248
之后我还陆续尝试了这些操作,但都没起到作用:
- 将目标发件域名添加到
/etc/mail/local-host-names,然后重启Sendmail服务 - 在
/etc/hosts里给回环地址添加域名别名:127.0.1.1 my-domain.example.com - 修改
/etc/mailname文件,填入了我的域名
有没有人能帮我分析下到底哪里出问题了?或者有没有其他可以尝试的配置方法?
备注:内容来源于stack exchange,提问作者digijay
相关产品推荐
相关产品推荐

