我在服务器上运行 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