当域位于 Postfix 本地时,将某些用户的邮件发送到外部 SMTP

当域位于 Postfix 本地时,将某些用户的邮件发送到外部 SMTP

我想使用与本地帐户相同的域向外部 Office 365 帐户发送邮件。

当我尝试向外部的该地址发送邮件时,Postfix 会拒绝该邮件,并显示错误“帐户不可用”。因此,如果该帐户不在本地,我希望 Postfix 将邮件发送到同一域的外部帐户。

例如我有两个电子邮件地址[email protected][email protected]

现在,我想[email protected]从任何本地帐户向 Postfix 发送邮件。域也example.com已添加relay_domains,但 Postfix 仍然拒绝邮件并显示错误“收件人不存在”。

答案1

由于您已经在或example.com中配置了本地域,因此您无法通过将其添加到来实现这一点。mydestinationvirtual_alias_domainsrelay_domains

相反,你应该添加一个运输(5)可以覆盖由等transport:nexthop使用的默认定义的传送规则的地图mydestinationvirtual_alias_domains

描述

可选 运输(5) 表指定从电子邮件地址到消息传递传输和下一跳目的地的映射。文件中定义了消息传递传输(例如本地或 smtp) master.cf,下一跳目的地通常是主机或域名。该表由以下项搜索:简单重写(8)守护进程。

此映射覆盖了transport:nexthopPostfix 内置的默认选择。

添加运输地图至您的/etc/postfix/main.cf

transport_maps = hash:/etc/postfix/transport

然后添加到/etc/postfix/transport

[email protected]    smtp:example-com.mail.protection.outlook.com
@example.com       :
*                  :

(请记住,postmap /etc/postfix/transport当您使用hashBerkeley DB查找表

这将对所有@example.com其他内容使用默认传输规则(*),其他传送配置保持不变,但[email protected]通过 SMTP 将所有电子邮件转发到 Office 365:默认模式Office 365 MX 记录对于公司来说<domain>.mail.protection.outlook.com.


使用transport_maps是一种全局解决方案,可与任何外部 SMTP 服务器配合使用。在特定情况下,a) 外部帐户位于 Office 365 上,b) 域配置在 Postfix 上,virtual_alias_domains也可以添加虚拟别名,将所有邮件重定向到 Office 365 用户的初始域(承租人)地址,。[email protected] [email protected]

答案2

我无法评论,但对于 Google Suite/Workspace,URL 是aspmx.l.google.com,它允许不受限制/未经授权的传输。

看:https://support.google.com/a/answer/176600?hl=en#zippy=%2Cuse-the-restricted-gmail-smtp-server

相关内容