Email

Exim 路由器擷取本地電子郵件

  • August 28, 2011

我正在嘗試使用亞馬遜的 SES 設置 Exim。我已經定義了一個路由器,它可以擷取所有電子郵件並通過 SES 發送它們。我不想為出站過濾任何內容。一切都通過 SES。我的路由器配置如下:

begin routers

aws_ses:
 debug_print = "R: aws_ses for $local_part@$domain"
 driver = accept
 require_files = AWS_SES_SEND_EMAIL : AWS_CREDENTIALS_FILE
 transport = aws_ses_pipe
 no_more

除了一個問題,它工作得很好。每當我收到任何入站電子郵件時,Exim 也會嘗試通過 SES 發送它們。那就是問題所在。本地電子郵件應被 Exim 擷取。我嘗試在我的 aws_ses 路由器之前添加它,但它不起作用。Exim 仍將 aws_ses 路由器用於 mydomain.com 的入站電子郵件

localusers:
 driver = accept
 domains = mylocaldomain.com
 transport = virtual_userdelivery

那麼,如何讓 Exim 通過 aws_ses 路由器發送所有出站電子郵件,但同時告訴它擷取所有到 mydomain.com 的入站郵件,以便將其傳遞到使用者的郵箱?

謝謝。

ps 你可以在我整理的教程中看到完整的配置。不過,相關配置已粘貼在此問題中。

路由器按順序嘗試。您應該能夠找到一個名為“dnslookup”或“smarthost”或類似名稱的路由器,並將您的新路由器放在那裡。除非您有大量的 Exim 經驗(RCPT ACL 也是如此),否則不建議完全替換路由器列表。

您應該有一個名為local_domains的域列表,它是要在此主機本身上處理的域列表。然後,您的aws_ses路由器將包含一行:

domains = !+local_domains

有了這個前提條件,發送到域列表中的域的local_domains郵件將不會由aws_ses路由器處理。

下一步:您在文本中談論mydomain.com,然後mylocaldomain.com在您的混淆範例中使用。像這樣的錯誤肯定會解釋你所看到的。:)

然後:使用類似的東西:

$ exim -d -bt fred@mydomain.com

獲得有關 Exim 在決定如何處理該地址時做出的決定的大量調試輸出。

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