Postfix:根据发件人和收件人域强制实施出站TLS?

我知道通过使用smtpd_enforce_tls来强制实施基于收件人域的TLS是相当简单的。 我有一个用例,我需要根据发送域强制TLS到特定的收件人域。 这是用于多租户环境,其中一个租户可能不关心,如果他们的邮件通过TLS发送到example.com ,但另一个需要执行的合规性原因。 有没有办法实现这一点,而不必为每个租户创build单独的监听器?

根据文件,这是不可能的。 目前的实施只能决定目的地; 而不是来源。

简短的回答:不,这将需要在TLS会话之前预先路由消息,这违背了使用它的目的; 也没有办法在会议内部进行路由。

漫长的回答:你最好做以下的一件事:

  • 迫使您的基于TLS的租户将他们的MUAconfiguration为使用TLS,绕开整个问题。 这不是问题,因为postfix将愉快地同时运行encryption和非encryption的侦听器; 但是,如果用户不想这么做,那么显然会产生问题,因为大多数自动configuration的邮件客户端将探测端口并find未encryption的端口。 等等
  • 强制所有连接都是基于TLS的,这对于每个人来说都是透明处理的,因为您可以在端口25上运行TLS,但不能使用SSL。 这将是最简单/最懒惰的select,但是我不知道您的configuration或服务器容量,并且在高容量服务器上可能不是最佳select。