当我不一定知道下游 MTA 的主机名(仅 IP)时,如何在 sendmail 中强制执行 TLS?

当我不一定知道下游 MTA 的主机名(仅 IP)时,如何在 sendmail 中强制执行 TLS?

我正在运行 SendMail 8.14,并有一些自定义静态路由用于发送到某些域。这些域是“内部”的,但不由我直接管理。

以下是一个例子/etc/mail/mailertable

fooexample.com          esmtp:[1.1.1.1]:[2.2.2.2]

这里的想法是,我总是想首先尝试发送到 1.1.1.1,并且仅在主服务器不可用时才发送 2.2.2.2。

效果很好。它甚至使用机会性 TLS。太棒了。

我现在想强制/要求发送到此域时使用 STARTTLS 加密。这样,如果我发送到 1.1.1.1 并且他们不知何故没有 TLS,我就不会让消息通过。

我过去曾为外部域实施过此策略,并且历史上刚刚将其添加到/etc/mail/access

TLS_Clt:exampledomainname.com ENCR:112

(其中 examplehostname.com 是系统的 MX/A 记录主机名的一部分 - 不一定是电子邮件域...因为现在电子邮件可以由云服务处理)。

无论如何,我不确定这是否适用于我的新场景,因为我使用的是静态路由并且没有解析 MX/A 记录(这是我TLS_Clt最终认为要查看的。)

我的问题是:

1)TLS_Clt匹配模式中到底在寻找什么,如果我指定静态路由,它如何验证这一点?

2) 我可以简单地添加吗TLS_Clt:fooexample.com ENCR:112?或者应该像

TLS_Clt:1.1.1.1 ENCR:112
TLS_Clt:2.2.2.2 ENCR:112

谢谢。

答案1

简洁版本:

使用TLS_Rcpt访问表条目。指定每个收件人的域要求。

TLS_Rcpt:fooexample.com ENCR:112`

完整版本:

0)TLS_Clt用于传入连接。TLS_Srv用于传出连接1) Sendmail根据第一个和第二个来
查找访问表条目。 2)不会按您的要求执行(在每种情况下) 您可以在访问表中指定每个收件人或收件人的域要求TLS_Srv$&{server_name}$&{server_addr}
TLS_Srv:fooexample.com ENCR:112
TLS_Rcpt

相关内容