我有 2 台服务器(A、B),其中的电子邮件服务器正在运行。我尝试使用传输图将发送到服务器 A 的所有电子邮件复制到服务器 B。我的传输表是
CREATE TABLE `transport` (
`domain` varchar(128) NOT NULL DEFAULT '',
`transport` varchar(128) NOT NULL DEFAULT '',
UNIQUE KEY `domain` (`domain`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
当我向该表添加行以将电子邮件传输到服务器 B 时,它起作用了
+-------------+----------------+
| domain | transport |
+-------------+----------------+
| example.com | smtp:[1.2.3.4] |
+-------------+----------------+
但当我尝试添加另一台服务器时它停止工作
+-------------+--------------------------------+
| domain | transport |
+-------------+--------------------------------+
| example.com | smtp:[1.2.3.4], smtp:[2.3.4.5] |
+-------------+--------------------------------+
我的问题是,如何让它工作?如何复制两台不同服务器上的邮件?
答案1
交通地图不支持多个 nexthops。您可以尝试使用自动密送(或其中一个 BCC 地图)将邮件递送到其他地址。
例如,要将所有发往 example.com 的邮件发送到服务器 B,请为“备份”邮件创建一个域(例如 backup.example.com),并将服务器 B 配置为接受此域的邮件。然后使用正则表达式收件人密件抄送地图表将 backup.example.com 上的对应用户添加为 BCC。
main.cf
:
recipient_bcc_maps = regexp:/etc/postfix/recipient_bcc_maps
recipient_bcc_maps
:
/^(.*)@example\.com$/ ${1}@backup.example.com