Мар 17 2009

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

На этом настройка окончена.


Украинская Баннерная Сеть