У меня есть два почтовых сервера с одним и тем же доменным именем. Как сделать так, чтобы электронная почта zimbra ретранслировала почту, которая не находится в каталоге zimbra, на другой почтовый сервер
Вы описываете ситуацию с разделением домена. Это хорошо документирован в вики Zimbra. Вам нужно следующее:
example.org
направляется в Zimbra.example.org
, например foo@example.org
делает не существует в Zimbra, он должен быть направлен в другую почтовую систему.В основном команды, которые вам нужны в вашей Zimbra, следующие:
$ zmprov md example.org zimbraMailCatchAllAddress @example.org
$ zmprov md example.org zimbraMailCatchAllForwardingAddress @example.org
$ zmprov md example.org zimbraMailTransport smtp:the-other-mail-server.example.org
Чтобы переместить почту с одного сервера на другой, вам необходимо настроить транспорт для каждой электронной почты в своей транспортной таблице. Предполагая, что транспортная таблица настроена следующим образом: transport_maps = /etc/postfix/transport
, вы должны добавить строку для каждого электронного письма user@domain.tld transport:[nexthop]
Так что вы, вероятно, использовали бы что-то вроде
user1@example.com smtp:[192.168.1.2]
Электронная почта пользователя user1 будет отправлена через smtp на 192.168.1.2 (или в домен) без поиска сервера MX, который может указывать на ваш исходный сервер.
Затем вы бы побежали postmap /etc/postfix/transport
который сгенерирует файл БД и перезагрузит постфикс.
Сервер, получающий почту для ВСЕХ адресов, которых даже не существует, - быстро становится мишенью для спама. Так что перед приемом почты лучше проверить наличие адреса.
Если второй почтовый сервер также является Zimbra, вы можете использовать встроенную возможность Zimbra для распределения пользователей по почтовым серверам в том же домене - «Многосерверная установка Zimbra».