我想将邮件发送到具有与本地帐户相同的域的外部Office 365帐户。
当我尝试发送邮件到外面的这个地址,Postfix拒绝它错误“帐户不可用”。 所以,我希望Postfix将邮件发送到同一个域的外部帐户,如果该帐户不在本地。
例如,我有两个电子邮件地址[email protected]和[email protected] 。
[email protected]存在于本地服务器中 [email protected]是Office 365外部邮件服务器上的帐户。 现在,我想从任何本地帐户发送邮件到Postfix的[email protected] 。 域example.com被添加到relay_domains ,但是Postfix仍然拒绝邮件错误“收件人不存在”。
将其添加到您的relay_domains并设置一个交通地图
更多细节提供更多细节
由于您已经将example.com作为在mydestination或virtual_alias_domainsconfiguration的本地域,因此您无法通过将其添加到relay_domains来实现此目的。
相反,您应该添加一个transport(5)映射,该映射可以覆盖由默认transport:nexthop定义的传递规则transport:nexthop mydestination使用的transport:nexthop , virtual_alias_domains等。
描述
可选传输(5)表指定从电子邮件地址到消息传递传输和下一跳目标的映射。 消息传递传输(如local或smtp)在
master.cf文件中定义,下一跳目标通常是主机或域名。 该表是由平凡重写(8)守护进程search的。这个映射覆盖默认的
transport:nexthop内置到Postfix中的transport:nexthopselect。
将transport_maps添加到您的/etc/postfix/main.cf :
transport_maps = hash:/etc/postfix/transport
然后添加到/etc/postfix/transport :
[email protected] smtp:example-com.mail.protection.outlook.com @example.com : * :
(请记住,使用hash ,Berkeley DB 查找表来postmap /etc/postfix/transport 。)
这将对所有@example.com和其他任何( * )按原样使用默认传输规则,而是通过SMTP将所有电子邮件转发到[email protected]到Office 365: Office 365 MXlogging的默认模式公司是<domain>.mail.protection.outlook.com.
使用transport_maps是一个全球性的解决scheme,可以与任何外部SMTP服务器一起使用。 在特定情况下,a)外部帐户在Office 365上,b)域在Postfix virtual_alias_domains上configuration,也可以添加一个虚拟别名,将所有邮件redirect到Office 365用户的初始域 (租户)地址[email protected] [email protected] 。