将 postfix 配置为对特定服务器使用 TLS?

dir*_*ide 0 email smtp postfix starttls

在我的主机上运行 kubuntu 10.04,我们称之为alpha. 我有 postfix 作为我的系统 MTA。我有 crons 正在运行alpha,需要向远程主机发送电子邮件,我们称之为mailhost。我无法更改mailhost.

通常我使用 Thunderbird 通过mailhost使用 IMAP over TLS发送/接收电子邮件。Thunderbird 中的 SMTP 设置被配置为使用 STARTTLS。

我希望 cron 作业继续运行alpha以将邮件发送到mailhost,但由于它alpha是住宅 NAT 后面的动态 IP 主机mailhostalpha由于通常的反垃圾邮件/RBL 启发式方法,很难接受来自NAT的邮件。但是,如果我可以让 postfix 在mailhost将邮件发送到某个地址时使用 TLS 进行连接(dirtside@mailhost例如),那么邮件应该可以正常通过。

我想弄清楚的是如何将 postfix 配置为仅在连接到mailhost.

替代解决方案(例如使用 postfix 以外的其他解决方案)是可以接受的,但最终的任务仍然是允许运行的 cronalpha将电子邮件发送到dirtside@mailhost.com.

mgo*_*ven 7

您可以使用smtp_tls_policy_maps在每个主机的基础上配置 TLS 策略。

main.cf

smtp_tls_policy_maps = hash:/etc/postfix/tls_policy
Run Code Online (Sandbox Code Playgroud)

/etc/postfix/tls_policy

mailhost.com    encrypt
Run Code Online (Sandbox Code Playgroud)

请记住postmap /etc/postfix/tls_policy在编辑该文件后运行。

您也可以smtp_tls_security_level = may在远程服务器支持时设置为使用 TLS,否则回退到非 TLS。