Ubuntu

配置 Exim 以轉發電子郵件

  • June 7, 2012

我設置了一個 Ubuntu 10.04 VPS 來管理 sub.example.com,並且我已經將 Exim 配置為使用Linode 庫中的本教程發送電子郵件。這是可行的,但除了發送電子郵件之外,我還意識到我需要一個非 root 電子郵件地址 (admin@sub.example.com) 來轉發給我 (me@gmail.com)。

我已經閱讀了有關此的 Exim 文件

$$ 1 $$而且我並沒有真正明白我應該做什麼(似乎希望讀者已經知道要更改哪些文件以及某些指令的作用)。‘09 這裡也有一個類似的問題,我不知道哪些解決方案(如果有)適用於我的案例,或者需要使用建議的行修改哪些文件。 TBH,如果有一種非常簡單的方法可以在沒有 Exim 的情況下執行此操作,並且不會與我已經設置的方式通過 Exim 發送電子郵件衝突,那麼我會很高興。我已經嘗試修改/etc/aliases無濟於事。

您可能會說我對配置 MTA 很陌生……在此先感謝。

$$ 1 $$我顯然無法連結到,因為這是我在 ServerFault 上的第一篇文章。我相信相關部分是第 22 章 - 重定向路由器。

在接下來的解釋中,我假設您按照您提到的 URL 中的說明進行操作,並且您選擇了“網際網路伺服器”。我還假設“localhost”是您的 exim 配置為辨識為本地域的有效域名之一。

首先,您放入 /etc/aliases 的格式應該是:

admin: me@gmail.com

您不需要在 exim 系統上執行 newaliases,它只是作為兼容層提供給期望更“類似 sendmail”環境的應用程序。Exim 在第一次讀取 /etc/aliases 文件時直接掃描它的內容並記憶體結果,如果有的話,記住它以供後續查找。它實際上並不像 sendmail 那樣使用 /etc/aliases.db 文件。

當您編輯 /etc/aliases 時,您可以測試如何從命令行處理地址。在第一個範例中,我的系統未配置為處理管理員別名。它通過將其描述為無法投遞來抱怨它不知道如何處理此地址:

[todd@tlyons /etc/exim4]$ grep admin /etc/aliases
[todd@tlyons /etc/exim4]$ exim -bt admin@localhost
R: system_aliases for admin@localhost
admin@localhost is undeliverable

在第二個範例中,我的系統已正確配置為處理管理員別名。解釋如下:

[todd@tlyons /etc/exim4]$ grep admin /etc/aliases
admin: me@gmail.com
[todd@tlyons /etc/exim4]$ exim -bt admin@localhost
R: system_aliases for admin@localhost
R: dnslookup for me@gmail.com
me@gmail.com
   <-- admin@localhost
 router = dnslookup, transport = remote_smtp
 host gmail-smtp-in-v4v6.l.google.com [2001:4860:b007::1a] MX=5
 host gmail-smtp-in.l.google.com      [173.194.79.27]      MX=5
 host gmail-smtp-in-v4v6.l.google.com [209.85.225.27]      MX=5
 host alt2.gmail-smtp-in.l.google.com [74.125.45.27]       MX=20
 host alt3.gmail-smtp-in.l.google.com [173.194.66.27]      MX=30
 host alt4.gmail-smtp-in.l.google.com [173.194.65.27]      MX=40

第一個 R: 行是調試輸出行,表示它正在使用“system_aliases”路由器處理電子郵件地址。它沒有直接說出來,但它確實在 system_aliases 路由器中找到了“admin”並將其“擴展”為“me@gmail.com”。一旦 exim 將一個地址擴展為其他東西(或多個東西),它就會通過路由器重新執行每個地址,尋找匹配項。在上面的範例中,它通過路由器執行 me@gmail.com 地址,並且匹配了“dnslookup”路由器。這意味著它確定需要使用 SMTP 將其發送到遠端郵件伺服器。其中一部分是查找 gmail.com 的 MX 記錄,它已完成並顯示給您,以了解它將如何嘗試傳遞該郵件。

因此,要回答您最初的問題,您可能只是在 /etc/aliases 中錯誤地輸入了數據。左側只是本地部分(即 user@domain.com 中的“使用者”),後跟冒號 (:),後跟空格或製表符,然後是電子郵件地址(或用逗號連接的電子郵件地址)傳遞給。您不能將完整的電子郵件地址放在左側(冒號之前)。

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