我有以下设置:
当来自外部的人试图发送邮件到以@ example.com结尾的地址时,它被路由到谷歌邮件(并在那里适当地处理)。
当linux机器试图发送邮件到外面的世界时,邮件被正确地传送,因为反向dns和spfloggingconfiguration正确,所以linux机器是example.com域(和google邮件服务器一起)的有效邮件发送者。
但是,这是问题。 当PHP应用程序(在Linux框中托pipe)试图发送邮件到[email protected](和某些用户不存在于Linux的盒子),它失败,因为它甚至不咨询谷歌邮件服务器,但后缀smtp本地结束“某个用户”是未知的。
所以, 问题是 :如何告诉postfix将发送到@ example.com域的邮件转发到谷歌邮件服务器(如此,到MXlogging中指定的服务器),IF和只有在本地找不到邮箱。
你需要postfix服务器来负责example.com吗? (你是否希望邮件被传递到那里,而不是谷歌?)如果你总是希望邮件本地示例用户去他们的谷歌,请从main.cf的mydestination参数中删除$ mydomain。 这不会改变邮件似乎来自外部用户的地方。 (这是由“myorigin”控制)
由于后缀认为它是负责域名或没有,有没有简单的方法来分割域,所以一些邮件得到本地交付,一些被交付到谷歌。 你可以通过input转发规则或传输映射来做一些技巧,但是你需要为每个用户指定google或local。 我有点怀疑你真的想这样做。
你在main.cf中设置了“relayhost”吗?
这是main.cf的一部分
myhostname = example.com alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname mydestination = localhost relayhost = googlemail.host
邮件发送到[email protected]将被转发到googlemail.host
在/ etc / aliases中,您可以为root用户提供本地传递的别名
root: [email protected]