我遇到了无法从我们的 Centos 服务器发送邮件的问题。
我在这个 VPS 上有许多域名,例如:
domain1.com - 仅网站托管,邮件由外部 Exchange 服务器提供服务 domain2.com - 完全托管,邮件设置为转发到外部域
如果我在 main.cf 中启用以下内容:
virtual_mailbox_domains = $virtual_mailbox_maps, hash:/var/spool/postfix/plesk/virtual_domains
virtual_alias_maps = $virtual_maps, hash:/var/spool/postfix/plesk/virtual
virtual_mailbox_maps = hash:/var/spool/postfix/plesk/vmailbox
我可以将电子邮件发送到我的 domain2.com 电子邮件地址,然后将其转发给 Plesk 中转发设置定义的相关收件人。设置完成后,服务器将不允许将电子邮件发送到 domain1.com。
如果我注释掉 main.cf 文件中的行,则发送至 domain1.com 的邮件可以工作,但发送至 domain2.com 的电子邮件将不再工作,并且我会收到一条Relay access denied> #SMTP#
消息。
我知道我需要在设置中的某个地方添加具有外部电子邮件交换的域,以便我的服务器向 domain1.com 外部发送电子邮件(并且虚拟邮箱保留在原位),但我有点不知道我把这个设置放在哪里。
答案1
使用 Plesk 时,您不应手动编辑 main.cf。如果您在 Plesk 中启用了 domain1.com 的邮件服务,domain1.com 就是虚拟邮箱域,因此邮件将在本地投递。要解决此问题,请在 Plesk 中禁用 domain1.com 的邮件服务。这将导致 domain1.com 从 Postfix 虚拟域中删除,并且邮件将投递到 DNS 记录中指定的 MX。