Email

Exim:將未知收件人中繼到另一台伺服器

  • January 2, 2021

問題

我可以強制 Exim 將未知收件人的郵件轉發給另一台主機嗎?

設想

我想以一種允許我在伺服器之間移動單個帳戶並保持所有帳戶正常執行的方式進行 Exim 到 Exchange 的遷移。

我的想法是:

  1. 將 Exchange 配置為內部中繼,即。將無法辨識的收件人轉發給 Exim,
  2. 在 Exim 上執行類似的配置並在任一端強制執行任何形式的循環保護(對於兩個伺服器上未知的消息),
  3. 將 Exim 保留為 MX 記錄目標,直到暫存結束,
  4. 逐步在 Exchange 上創建新帳戶並同時在 Exim 上禁用它們

如果這個想法出於任何原因聽起來很糟糕,我也歡迎任何批評。

您可以通過 ACL 和路由器的組合來做到這一點。

首先,您必須通過 ACL 傳遞所有驗證特定帳戶存在的消息:

acl_smtp_rcpt:
accept   domains = +local_domains
        !verify = recipient
  set acl_m_fwd = go2xchg
. . . . 
# all the rest rules

然後你必須添加路由器:

begin routers
xchg:
      driver = manualroute
   condition = {if eq{$acl_m_fwd}{go2xchg}}
  route_list = * 11.22.33.44 
   transport = remote_smtp
     no_more
. . . . 
# all the rest routers

其中 11.22.33.44 是 Exchange 伺服器的 IP 地址。

引用自:https://serverfault.com/questions/925443