Exim 强制对特定目标域进行 TLS 验证

Exim 强制对特定目标域进行 TLS 验证

我需要配置 Exim 以在向特定域发送电子邮件时要求 TLS。

我知道我可以使用

 hosts_require_tls = host

在 smtp 传输中。但这听起来好像需要我设置接收邮件服务器的主机。我宁愿指定域。

另外,如果我使用这个,所有其他主机/域是否都可以在没有 TLS 的情况下工作?我只是想在实施之前确认一下。

谢谢。

答案1

您可以使用收件人 ACL 并使用条件encrypted看这里

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

编辑

要强制向某些域发送加密邮件,您可以创建一个“必需的 tls”传输(指定host_require_tls),然后为您想要的域创建一个路由器,例如(未经测试):

begin router

tls_router:
    driver = accept
    domains = secure.mail.com
    transport = tls_smtp

begin transport

tls_smtp:
    driver = smtp
    hosts_require_tls = * 

答案2

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

反向配置将是tls_hosts = *.example.net : example.net

exim 的文档位于http://www.exim.org。请查看host lists第 7 章。

答案3

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

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

相关内容