postfix - 将未知客户端的邮件转发到另一台服务器:请提供一个工作示例

postfix - 将未知客户端的邮件转发到另一台服务器:请提供一个工作示例

我需要将邮件从一个 Postfix 服务器转发(中继)到另一个,以便它们可以使用与原始邮件相同的地址进行“应答”。此外,我需要将来自服务器 2 上的帐户的所有邮件(这些邮件发往服务器 2 上的其他帐户)在本地传递,而所有其他邮件应中继到实际上是邮件集群的第三台服务器。

因此,是这样的:

  • 邮寄[电子邮件保护]转到 cluster.other.dom
  • cluster.other.dom 认为应该将其转发到 mail.my.dom,其中 postfix 服务器 1 将所有邮箱作为虚拟邮箱
  • mail.my.dom 检查其传输/虚拟/别名,发现应将其中继到 mail2.my.dom,其中 postfix 服务器 2 仅具有一些邮箱,并接受两个域中一些用户的邮件:my.dom 和 mail2.my.dom
  • mail2.my.dom 找到[电子邮件保护]以本地用户身份接受消息

这部分确实有效,问题出在其他方面......例如:

现在,最大的问题是我无法实现非本地用户的中继 - 我尝试了所有能找到的解决方案(其中大多数都已经 5 年多了),但都不起作用。要么没有中继,要么所有内容都中继到集群(这当然也是错误的)。

这真的可能吗?要让 postfix 检查其本地地图/数据库,如果找不到用户,只需通过中继服务器发送,而无需任何地址重写、替换等(这意味着[电子邮件保护]不会成为[电子邮件保护])?

为了进一步说明,我仅定义了有关虚拟*的内容:

virtual_transport = procmail
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf    
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf

两个邮件域(my.dom 和 mail2.my.dom)都在虚拟邮箱域中,并且两个域中的所有用户都在虚拟邮箱映射中,并且他们所有用户在虚拟别名映射中都有与其电子邮件相同的别名。

我不知道我是否把它弄得太复杂/难以理解,如果是这样的话我很抱歉,但我需要尽可能清楚地说明情况,然后才能最终提供更多细节。

我的 main.cf 的一部分:

mydestination = localhost 
myhostname = mail2.my.dom 
mynetworks = 127.0.0.0/8 [::1]/128 
myorigin = /etc/mailname 
relayhost = [cluster.other.dom] 
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf 
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf 
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf 
virtual_transport = procmail 
smtpd_reject_unlisted_recipient = no 
smtpd_reject_unlisted_sender = no 

谢谢。

相关内容