我有一个名为 server1.mydomain.com 的服务器,该服务器主要用作 Web 服务器和多个域的邮件服务器。
但它不是 mydomain.com 的邮件服务器。mydomain.com 的邮件服务器是 mail.mydomain.com。
向各种外部电子邮件地址发送邮件工作正常。所有邮件均正确送达。此系统上托管的所有客户端域都可以正确发送和接收邮件。
但不幸的是,我在发送邮件到[电子邮件保护]。Postfix 似乎没有检查谁是 mydomain.com 的负责邮件服务器。相反,它希望自己是正确的邮件服务器。由于我的服务器不知道 mydomain.com 的任何用户(毕竟它不是域的邮件服务器),因此发送到[电子邮件保护]不断收到一条错误消息:“收件人地址被拒绝:虚拟邮箱表中的用户未知”,这对我来说很清楚......
我如何才能让 postfix 将邮件(发给来自 mydomain.com 的任何人)发送到 mydomain.com 的邮件服务器,而不是自己处理?所有其他邮件都应按原样处理...
谨致问候,汤姆
答案1
添加邮件服务器,如下relayhost
所示main.cf
:
relayhost=mail.example.com
所有邮件都将通过该服务器路由,这对于 SPF 和 DKIM 检查来说也是一个优势。
另外,如果您的域名mydestination
在里面,请将其删除。只有 localhost 和主机名应该在里面。
答案2
如果有,请从中删除域名mydestination
或者virtual_alias_domains
。
您不一定需要relayhost
按照 Gerald 的建议进行设置,因为服务器默认会使用 DNS 获取MX
正确 MTA 的记录。设置relayhost=mail.example.com
要求mail.example.com
允许从您的 进行中继server1.example.com
。(无论是哪个传出 MTA,您还应该在 SPF 记录中将其指定为允许的发件人。)