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

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

这是/etc/mail/mailertable的一个例子:

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

这里的想法是,我总是想尝试发送到1.1.1.1首先,如果主要不可用,只发送做2.2.2.2。

这很好。 它甚至使用机会主义的TLS。 呜呼。

我现在想发送到这个域时强制/要求 STARTTLSencryption。 这样,如果我发送到1.1.1.1,他们以某种方式没有TLS,我不会让消息通过。

我在过去已经实施了这个外部域名政策,并且历史上只是把它添加到/etc/mail/access

 TLS_Clt:exampledomainname.com ENCR:112 

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

Annnnnyway,我不知道这是否适用于我的新场景,因为我正在使用静态路由,而不是parsingMX / Alogging(这是我认为TLS_Clt最终看的。

所以我的问题是:

1) TLS_Clt究竟在匹配模式中寻找什么,如果我指定一个静态路由,它是如何validation的?

2)我可以简单地添加TLS_Clt:fooexample.com ENCR:112 ? 或者应该是这样的

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

谢谢。

简洁版本:

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

 TLS_Rcpt:fooexample.com ENCR:112` 

完整版:

0) TLS_Clt用于传入连接。 使用TLS_Srv进行传出连接
1)Sendmail TLS_Srv根据$&{server_name} first和$&{server_addr}查找TLS_Srv访问表条目。
2) TLS_Srv:fooexample.com ENCR:112不会做你想做的事情(在任何情况下)
您可以使用TLS_Rcpt在访问表中指定每个收件人或收件人的域要求