Fallback relay. Ускоряем работу почты.
При обслуживании нагруженного SMTP сервера, можно заметить, что часть сообщений застряет в очереди. Причины могут быть самые разные, это и 450 ответы удаленного сервера, не возможность соединится с удаленным сервером и обрывы при передаче сообщения. Как правило сервер повторяет отправку из очереди приблизительно раз в 30 минут. Но по мере роста количества таких сообщений, общая скорость отправки, даже на «быстрые» удаленные сервера падает.
Так может продолжаться очень долго, но при высокой интенсивности работы почты очередь «замусоривается» и это может по итогу привести к тому что, почтовый сервер фактически перестанет отправлять сообщения вовне.
Одним из вариантов решения этой проблемы является создание fallback relay — почтового сервера отстойника для медленной почты.
Особой настройки ему не требуется, достаточно разрешить ему пересылку почты от вашего SMTP сервера.
А на вашем SMTP сервере указать опцию, которая отвечает за fallback relay.
Рассмотрим настройки для различных серверов.
Для Sendmail это делается так, в /etc/mail/»хостнейм вашего сервера».mc, нужно указать такую строку:
define(`confFALLBACK_MX', `адрес_fallback_сервера') |
сохранить файл и в /etc/mail выполнить последовательно команды:
make make install make restart |
Для постфикс 2.X все значительно проще, необходимо в /usr/local/etc/postfix/main.cf указать:
fallback_relay=адрес_fallback_сервера |
для postfix 2.3 имя опции несколько изменилось:
smtp_fallback_relay=адрес_fallback_сервера |
Сохранить файл и перегрузить постфикс:
postfix reload |
У exim эта опция прописывает непосредственно в smtp транспорте, то есть нужно найти такие строки в /usr/local/etc/exim/configure:
remote_smtp: driver = smtp |
И дописать строчку определяющую smtp fallback сервер:
remote_smtp: driver = smtp fallback_hosts = адрес_fallback_сервера |
и перезапустить exim:
/usr/local/etc/rc.d/exim restart |
На этом настройка окончена.