我正试图在一个IP地址上托pipe两个独立的域。 我希望能够从STARTTLS命令中确定正在请求哪个证书,并根据域转发到不同的邮件服务器。
这似乎是不可能从RFC,但是有没有其他方式可以在单个IP地址上实现这样的事情?
不,SMTP被devise为在电子邮件中追踪整个电子邮件通信path,并且每个连接将终止并中继电子邮件,您应该使用传输映射(用于后缀)通过电子邮件地址而不是MTA主机名来控制目的地。
如果您在本地接收这两个域名的电子邮件,那么您的电子邮件服务器应该处理这个问题,如果这个IP将内部电子邮件转发给另外两个服务器,那么传输地图就是您正在寻找的一个后缀服务器。
如果这是出站服务器中继(SMTPS),则需要在此服务器上处理这两个域的身份validation,因为您无法像使用nginx / haproxy和SNI那样“代理”进行身份validation。
你不需要这个SNI。 大多数MTA支持基于域的路由。 例如postfix有一个传输地图 。 你会制作一个如下的地图:
foo.com smtp:[mail.foo.com] bar.com smtp:[mail.bar.com]