我需要配置 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 = *