我正在考虑让 exim 根据查找到的 mx 记录将邮件子集重定向到我们的一个智能主机。目前我可以通过指定所有域并使用手动路由路由器来实现这一点,但我希望以后可以自动实现。
例子:
DNS => Domain1.com 在 mx 10 subhost.outdomain.com
然后,Exim 需要根据该 mxdomain 在手动路由器中设置一个条件。
有人知道如何在没有外部脚本的情况下做到这一点吗?Exim 在处理时已经知道 mx_domain,因此它应该可以做到这一点。
答案1
据我所知,exim 仅在尝试通过 SMTP 传输进行 SMTP 传递时才会意识到目标域中的 MX 记录。您需要根据 MX 记录的值将邮件路由到不同的传输。
我不相信有任何办法路由器无需使用外部脚本即可知道目标域的 MX 记录。不过我已经准备好有人来告诉我我错了...
答案2
route_data 变量已扩展,因此您可以使用
route_data = ${lookup dnsdb{>: mxh=Domain1.com}{$value}fail}
它不尊重 MX 优先级,因为我还没有找到如何在字符串扩展中进行排序。