仅当收件人位于 hotmail.com 时才进行 EXIM 中继

仅当收件人位于 hotmail.com 时才进行 EXIM 中继

我目前正在使用中继服务(mailchannels 和 sendgrid)每月通过我们的 cPanel 服务发送大约 20 万条消息,但我只想路由具有 HOTMAIL 收件人的消息(因为他们是我们中继邮件的主要原因...我们的消息从未使用我们的 ips 传递到邮箱——GMAIL 和所有其他提供商的邮件均没有问题)。

我的配置如下:

SECTION: AUTH
sendgrid_login:
driver = plaintext
public_name = LOGIN
client_send = : USER : PW

-

Section: PREROUTERS
send_via_sendgrid:
driver = manualroute
domains = ! +local_domains
transport = sendgrid_smtp
route_list = "* smtp.sendgrid.net::587 byname"
host_find_failed = defer
no_more

-

Section: TRANSPORTSTART
sendgrid_smtp:
driver = smtp
hosts = smtp.sendgrid.net
hosts_require_auth = smtp.sendgrid.net
hosts_require_tls = smtp.sendgrid.net

我知道我应该改变PREROUTERS部分并在那里改变一些条件,但不知道该怎么做!

任何帮助将不胜感激。

谢谢!

答案1

条件domains控制哪些“收件人”地址使用此规则。当前条件是“不是本地域组中的地址”。更改此行domains以匹配 hotmail.com:

send_via_sendgrid:
driver = manualroute
domains = hotmail.com
transport = sendgrid_smtp
route_list = "* smtp.sendgrid.net::587 byname"
host_find_failed = defer
no_more

答案2

对于 WHM/Cpanel,对于我来说,解决 Cpanel 设置 exim 问题的最佳方法是:

创建文件 /etc/staticroutes

hotmail.com: IP_OF_SMARTHOST__OR__FQDN
otherdestinationdomain: IP_OF_SMARTHOST__OR__FQDN
...  

转到 Exim 配置管理器 --> 高级编辑器 --> 部分:POSTMAILCOUNT

 static_route:
   driver = manualroute
   transport = remote_smtp
   route_data = ${lookup{$domain}partial-lsearch{/etc/staticroutes}}

通过这种配置,您可以使用多个智能主机和不同的路由,并且当 Cpanel 更新 exim 时,您可能会丢失更改。

Exim 配置管理器

相关内容