我正在使用 Ubuntu,在 Web 服务器上需要发送电子邮件(通过 sendgrid),该服务器从不接收任何外部电子邮件,并且我有以下主机名设置
/etc/hostname = example
/etc/hosts = www.example.com.int example (the fqdn has no entry in DNS server)
Web 服务器将在负载均衡器(DNS 设置为 www.example.com)后面访问
现在,对于main.cf
,哪种设置是首选?
myhostname = www.example.com.int
mydestination = www.example.com.int, example.com.int, localhost
或者
myhostname = www.example.com
mydestination = www.example.com, example.com, localhost
答案1
$myhostname
是默认情况下与系统 FQDN 相同。这应该类似于hostname.example.com
。查看和hostname
关联的手册页,以便为您的系统正确配置它。该$myhostname
变量用于许多其他参数,例如smtp_helo_name
,这应该是有效且正确的 FQDN。否则您的邮件可能会被许多服务器拒绝,或至少被标记为垃圾邮件(顺便说一句,拒绝错误的 helos 是一种很好的垃圾邮件减少技术)。
正如 Craig Watson 所说,mydestination
如果没有邮件送达,那么这并不重要。(但强烈建议将邮件读给服务器管理员,如网站管理员和邮政管理员!)
最后一件事:确保该服务器包含在 DNS 中的 SPF 条目中。
答案2
myhostname
应设置为服务器的 FQDN。
如果您的服务器从未收到电子邮件,那么您可以安全地设置mydestination
为,localhost
因为该mydestination
指令控制 Postfix 将尝试在本地传递的域。
请参阅 Postfix 文档:http://www.postfix.org/postconf.5.html#mydestination