我在我的伺服器上運行 postfix 以允許網站發送電子郵件。我用它作為適當的替代品sendmail
。
發送電子郵件時,HELO 字串似乎包含localhost
.這不會是一個問題,除非我的一個客戶剛剛說垃圾郵件攔截器回傳了一封電子郵件,說該郵件localhost
不能出現在 HELO 字串中。驚人的。
所以我編輯/etc/mailname
為我的主網域。我編輯/etc/postfix/main.cf
如下:
smtpd_banner = ESMTP $mail_name
然而,這是我在發送的電子郵件的標題中看到的內容(重新啟動 postfix 後):
Delivered-To: [email protected]
Received: by 22.194.173.22 with SMTP id bi10csp117521wjc;
Tue, 2 Apr 2013 07:24:18 -0700 (PDT)
X-Received: by 10.68.22.168 with SMTP id pt8mr24540246pbb.10.1364912657736;
Tue, 02 Apr 2013 07:24:17 -0700 (PDT)
Return-Path: <[email protected]>
Received: from localhost (example.com. [22.22.22.22])
by mx.google.com with ESMTP id l6si2328296pao.283.2013.04.02.07.24.16;
Tue, 02 Apr 2013 07:24:17 -0700 (PDT)
我已將我的網域替換為 example.com。
我需要編輯什麼來平息邪惡的統治localhost
?
答案1
嗚嗚嗚。
我有只是注意到裡面/etc/postfix/main.cf
有一行字:
myhostname = localhost
我已將其更改為:
myhostname = example.com
並重新啟動。一切都已確定。
答案2
對我有用的是添加smtp_generic_maps
到/etc/postfix/main.cf
:
smtp_generic_maps = hash:/etc/postfix/generic
/etc/postfix/generic
如果該文件不存在,則建立該文件。假設您想要替換 root@localhost,然後執行以下操作:
root@localhost [email protected]
將其新增至配置並重新啟動
sudo postmap /etc/postfix/generic
sudo service postfix restart
參考:https://www.cyberciti.biz/tips/howto-postfix-masquerade-change-email-mail-address.html