使用 Postfix 通過多個 Google Apps 帳戶進行中繼
我正在設置一個網路應用程序,該應用程序需要通過使用 Google Apps 的域上的兩個不同電子郵件地址發送電子郵件。我使用 Postfix 作為中繼,因為我相當熟悉它。
但是,我很難弄清楚如何在同一個域上使用兩個不同的電子郵件地址。我得到的印像是你需要在 /etc/postfix/sasl 中設置兩個不同的密碼文件,我已經這樣做了,然後將 smtp_sasl_password_maps 設置為 hash:/etc/postfix/sasl/passwd,但是我’ m 不太確定兩個不同文件所需的語法。我嘗試將其設置如下:
smtp_sasl_password_maps = hash:/etc/postfix/sasl/passwd, hash:/etc/postfix/sasl/passwd2
但這似乎沒有奏效。我也嘗試將兩者都放在一個文件中,但這也不起作用。無論我嘗試哪種方法,它似乎只在一個地址上接聽。Google似乎對這個問題也沒有太大幫助?
誰能看到我在這裡誤入歧途的地方?
編輯:也許我不太清楚我想要做什麼。
example.com 的 Web 伺服器安裝了 Postfix,但 MX 記錄指向 Google Apps。有兩個電子郵件地址 noreply@example.com 和 support@example.com,它們都在 Google Apps 上。我想要做的是將 Postfix 配置為使用 Google Apps 作為這兩個電子郵件地址的中繼。
問題是我不知道如何為這兩個帳戶設置密碼映射,因此我只能設置一個,而不是兩個。
您需要啟用與發件人相關的身份驗證,以便 Postfix 將根據正在傳遞的消息的發件人選擇適當的憑據。密碼映射應該由發送者地址而不是中繼主機鍵入。
main.cf
:smtp_sender_dependent_authentication = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_password_maps
sasl_password_maps
:noreply@example.com noreply@example.com:password123 support@example.com support@example.com:password456
發件人相關身份驗證可以提供幫助。官方文件中有很好的例子。
Postfix 支持不同的發件人地址使用不同的 ISP 帳戶(版本 2.3 及更高版本)。當一個人將同一台機器用於工作和個人用途時,或者當具有不同 ISP 帳戶的人共享同一個 Postfix 伺服器時,這可能很有用。
為了實現這一點,Postfix 支持每個發件人的 SASL 密碼和每個發件人的中繼主機。在下面的範例中,Postfix SMTP 客戶端將先按發件人地址搜尋 SASL 密碼文件,然後再按目的地搜尋同一個文件。同樣,Postfix trivial-rewrite(8) 守護程序將搜尋每個發送者的中繼主機文件,並且僅將預設中繼主機設置用作最後的手段。
/etc/postfix/main.cf:
smtp_sender_dependent_authentication = yes sender_dependent_relayhost_maps = hash:/etc/postfix/sender_relay smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd relayhost = [mail.isp.example] # Alternative form: # relayhost = [mail.isp.example]:port
/etc/postfix/sasl_passwd:
# Per-sender authentication; see also /etc/postfix/sender_relay. user1@example.com username1:password1 user2@example.net username2:password2 # Login information for the default relayhost. [mail.isp.example] username:password # Alternative form: # [mail.isp.example]:port username:password
/etc/postfix/sender_relay:
# Per-sender provider; see also /etc/postfix/sasl_passwd. user1@example.com [mail.example.com]:port user2@example.net [mail.example.net]
- 每當您更改 sasl_passwd 表時,請執行命令“postmap /etc/postfix/sasl_passwd”。
- 每當您更改 sender_relay 表時,請執行命令“postmap /etc/postfix/sender_relay”。