在docker容器中更改sendmail的HELO/ELHO头

在docker容器中更改sendmail的HELO/ELHO头

我有一个 Debian 11 docker 容器,其中安装了 sendmail v. 8.15.2 作为 MTA。不幸的是,spamhaus.org 将主机 IP 列入了黑名单,因为从此容器发送的邮件的 HELO 标头包含 docker 容器的本地 IP 地址。消息是:

{主机 IP} 正在使用裸 IP 地址通过 HELO 值建立 SMTP 连接。

根据这里的其他答案,我尝试将以下内容添加到 /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

将其转换为

Djmy-domain.example.com
O HeloName=my-domain.example.com

但无济于事sendmail.cf,当我发送测试邮件时,我仍然收到

echo "Subject: sendmail test" | sendmail -v -f "[email protected]" [email protected]
050 250-STARTTLS
050 250 Ok
050 >>> STARTTLS
050 220 Ready to start TLS
050 >>> EHLO 10.0.1.248

然后我发现我还应该添加所需的发件人域/etc/mail/local-host-names(再次重新启动 sendmail 服务),但这似乎也没有改变任何东西。与将域名添加到/etc/hosts作为备用环回相同

127.0.1.1 my-domain.example.com

或将域添加到/etc/mailname

有人能指出我的解决办法吗?

答案1

我通过在 docker 文件中添加域作为主机名解决了这个问题,如下所示:

services:
  typo3:
    image: software.example.com:5050/scoped/vendor/myapp:production
    hostname: my-domain.example.com

这也照顾到了 sendmail 中的 HELO/ELHO 标头。

相关内容