Я пытаюсь лучше объяснить ...
На самом деле у меня есть автономный почтовый сервер (CentOS7 + postfix + dovecot), который предоставляет несколько почтовых ящиков для моих доменов, и я хочу добавить Backup MX.
Как сказано в большом количестве документов (http://www.akadia.com/services/postfix_mx_backup.html) резервный MX обычно хранит почту в своей очереди и пытается пересылать их на главный MX-сервер, пока он не вернется в оперативный режим.
Но, насколько я знаю, невозможно получить легкий доступ к этим письмам для их чтения, когда основной сервер MX не работает (да, я могу перейти в / var / spool / mail / где-нибудь по SSH в случае крайней необходимости, но это далека от понятия "почтовый ящик").
Итак, моя идея состоит в том, чтобы доставлять копии всех писем, которые поступают на резервный MX, в локальный почтовый ящик, где я могу читать их с помощью специальной веб-почты. Другая копия все еще находится в очереди почты, готовая к доставке на основной MX, когда это возможно (как стандартная резервная конфигурация MX).
Итак, вопрос в том, как это сделать? master.cf поддерживает таможенный маршрут для писем (я использую здесь канал для пересылки писем в spamassassin, например, без использования amavis), но мне не удалось найти инструкции / руководство / пример, чтобы сделать что-то подобное.
ОБНОВИТЬ:
Я нашел обходной путь, который мне подходит, я добавлю его сюда и оставлю вопрос открытым для ответов или предложений, потому что я не уверен, что это лучшее возможное решение ...
Я фактически настроил резервный MX с той же конфигурацией postfix / dovecot основного MX (с локальными почтовыми ящиками, пользователями и т.д.) и добавил его как MX в DNS (более низкий приоритет, чем основной MX).
Затем я настроил правило, которое добавляет BCC ко всем входящим письмам, следуя этому руководству: http://www.linuxmail.info/backup-mail-postfix/
В main.cf я добавил:
recipient_bcc_maps = pcre:/etc/postfix/backup_bcc.pcre
transport_maps = hash:/etc/postfix/transport
smtp_generic_maps = pcre:/etc/postfix/generic.pcre
Файл backup_bcc.pcre содержит правило, которое добавляет скрытую копию, добавляя .backupmx к домену получателя (делая его недопустимым локальным доменом):
/^(.*)@example\.com$/ $1@example.com.backupmx
Транспортная карта содержит правило пересылки всех писем для .backupmx на основной MX:
.backupmx smtp:[1.2.3.4]
И должен быть скомпилирован в формате db с помощью:
postmap /etc/postfix/transport
И generic.pcre содержит правило для удаления .backupmx ext перед его пересылкой в основной MX:
/^(.*)@example\.com\.backupmx$/ $1@example.com
Итак, если почта отправляется на мой резервный MX (из-за того, что основной MX не работает), почта доставляется в локальный почтовый ящик и пересылается в основной MX (или, если недоступен, хранится в очереди, пока не вернется в онлайн).
Я также добавил
-o receive_override_options=no_address_mappings
в мой master.cf, как предложил Роб здесь https://serverfault.com/a/28484/348531 чтобы избежать проблемы с дублированием BCC, вызванной фильтром содержимого.