На двух серверах Postfix есть два почтовых домена, скажем, a.com на server1.com и b.com на server2.com. Пользователи и псевдонимы хранятся в Active Directory, доступ к которому мы получаем с помощью модуля ldap.
Как мне предотвратить зацикливание почты в этом сценарии? Могу ли я пересылать всю почту, кроме тех, которые поступают из одного домена?
Если я хорошо понимаю задачу, always_bcc тебе не друг.
Вместо этого я бы попробовал демон транспорта (транспортную таблицу).
в транспорте:
a.com smtp:[mail.relay.of.b.com]
b.com smtp:[mail.relay.of.a.com]
Конечно, мы предполагаем, что хотим перенаправить на то же имя пользователя.
По обновленному вопросу: если вы хотите отправлять копии, вы можете использовать виртуальный транспорт псевдонимов. virtual_alias_maps = регулярное выражение: regexpalias
и в regexpalias сделайте что-то вроде этого:
/.+@(a|b).com$/ $1@a.com,$1@b.com
после обычного postmap regexpalias совпадающие письма должны отправляться по обоим направлениям. Вы должны быть осторожны, если у вас есть другие источники виртуальных псевдонимов, определенные на сервере, потому что виртуальный псевдоним будет выполнен только один раз и завершится при первом совпадении. Например, если у вас есть:
virtual_alias_maps =
hash:/etc/postfix/myaliases
regexp:/etc/postfix/regexpalias
И в myaliases вы пересылаете bob@a.com на boby@a.com, тогда ваше регулярное выражение никогда не будет достигнуто, и одно письмо будет отправлено на boby@a.com.
Поскольку вы пересылаете почту напрямую (транспорт), и эти серверы якобы не будут отправлять почту обратно, больше не будет виртуального псевдонима, поэтому не должно быть петель для почты.