Postfix
我應該將我的 Postfix 僅發送伺服器設置為作為子域發送嗎?
設想:
- 我擁有域 example.com。
- 我註冊了一個電子郵件提供商,並將我的帳戶配置為 *@example.com 的包羅萬象。我使用電子郵件 dude@example.com。
- 我有一個執行 Ubuntu 18.04 的 VPS,它將託管 example.com。
- 在 VPS 上,我有一個使用者叫 dude。
我想要:
- 將 Postfix 配置為只發送 SMTP 伺服器,以便能夠以whatever@example.com 發送電子郵件。受到本指南的啟發。
- 特別是,我希望通過 dude@example.com 向我發送一些系統、日誌或應用程序消息,並在我的外部電子郵件提供商處接收它們(我意識到這可能有點奇怪,因為我的 VPS 使用者也是老兄)。
對我的新手來說,這似乎是一個非常常見的設置。
長話短說,當我向 root 或 postmaster (
echo test | mail -s testsubject postmaster
) 發送一些測試電子郵件時,這並沒有達到預期的效果。我想我對如何解決它有一些想法,但這讓我覺得我可能正在把自己挖到一個洞裡並做出一個糟糕的設置。所以我有一些更一般的問題:
- 我應該完全放棄 user = dude 和 email = dude@example.com 設置嗎?這會讓我在未來遇到瘋狂的問題嗎?
- 我的伺服器作為子域發送是否更好?例如whatever@mail.example.com。
- 如果上述答案為“否”,那麼:這種設置是否可以僅使用 /etc/aliases 中的別名和其他配置選項來完成,還是我需要使用虛擬別名映射?這可能是我的問題中最詳細的問題,所以我真的只是在一般意義上問。
我很感激人們可以提供的任何建議。我已經閱讀了指南上的所有評論,在這裡查看了很多建議的問題,並且在兩台電腦上打開了幾十個標籤,試圖解決這個問題!
**編輯:**這是我總結的相關設置的摘要,我認為這是“為我工作”和“如果需要,我可以修改我的方法,而不用扯掉我的頭髮”之間的平衡。以下三個文件,第一個只是摘錄(因此省略號)。我的理解是它
/etc/aliases
永遠不會被使用(因為example.com
,$myhostname
和$mydomain
不在 中mydestination
),但我還是將它包括在內,因為它是我測試的一部分,擁有它似乎是一種好習慣。/etc/postfix/main.cf ... myorigin = example.com myhostname = example.com mydomain = $myhostname mydestination = localhost.$mydomain, localhost alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases virtual_alias_maps = hash:/etc/postfix/virtual ... /etc/aliases postmaster root root dude /etc/postfix/virtual postmaster root root dude
可以使用記錄中
@example.com
列出的伺服器發送和接收郵件。MX
關鍵部分是mydestination
(和virtual_alias_domains
/_maps
)不應該包括example.com
本地傳遞。這樣,您dude@localhost
將沒有地址dude@example.com
,並且郵件會像任何其他域一樣被傳遞。請記住在 SPF 記錄中允許此伺服器為您的
example.com
.