Exim强制TLS为特定的目标域

我需要将Eximconfiguration为在将电子邮件发送到特定域时需要TLS。

我知道我可以使用

hosts_require_tls = host 

在smtp运输。 但是这听起来像需要我设置接收邮件服务器的主机。 相反,我想指定的域名。

另外,如果我使用这个,所有其他主机/域将工作没有TLS? 只是想在我执行之前确认一下。

谢谢。

您可以使用收件人ACL并使用encrypted条件, 请参阅此处 。

 deny domains = secure.mail.org ! encrypted = * 

编辑

要强制将encryption邮件发送到某些域,可以创build一个“必需的tls”传输(指定host_require_tls ),然后为所需的域创build一个路由器,例如(未经testing):

 begin router tls_router: driver = accept domains = secure.mail.com transport = tls_smtp begin transport tls_smtp: driver = smtp hosts_require_tls = * 

hosts_require_tls可以是一个列表或通配符,如*.example.net : example.net与其他列表相同。

反向configuration将是tls_hosts = *.example.net : example.net

exim的文档在http://www.exim.org 。 检查第7章中的host lists

您使用两台路由器进行远程交付。 第一个有domains = foo限制,只适用于你的域; 大多数选项与下一个处理正常远程传送的路由器相同。 但是您也可以将transport = ...选项更改为transport = remote_smtp_tls

然后复制remote_smtp Transport,复制它; 调用新的副本remote_smtp_tls并在其中设置hosts_require_tls = *