SMTP клиент
SMTP клиент предназначен для отправки сообщений на внешний SMTP сервер. Если его не настраивать, будет возможно отправлять письма только локальным пользователям.
SMTP клиент предназначен для маршрутизации (пересылки) сообщений, адресованных получателям не из локального домена. Эти сообщения накапливаются в папке «
maildrop\@queue\«.
В OMS может быть только один SMTP клиент, так как очередь исходящих сообщений только одна.
SMTP клиент может запускаться тремя способами:
- встроенным в OMS планировщиком;
- созданием в папке maildrop файла-флага;
- отправкой через SMTP сервер OMS сообщения, один из получателей которого имеет адрес [имя файла-флага]@startflags.
SMTP клиент может работать в двух режимах:
- прямая доставка сообщений на SMTP серверы получателей;
- доставка на внешний SMTP сервер (обычно – сервер интернет-провайдера), который сам займется непосредственной доставкой получателям.
Параметры SMTP клиента описываются в блоке
[SMTPCL] файла конфигурации.
- server – IP адрес или имя компьютера, на котором работает внешний SMTP сервер. Если этот параметр пустой, используется режим прямой доставки;
- port – номер порта, на котором работает SMTP сервер, с которым соединяется OMS. По умолчанию используется значение 25. В режиме прямой доставки этот параметр игнорируется;
- login – имя для входа на внешний SMTP сервер;
- password – пароль для доступа к внешнему SMTP серверу;
- timeout – тайм-аут соединения в секундах. По умолчанию устанавливается значение 60;
- schedule – имя используемого расписания для запуска SMTP клиента;
- flagstart – имя файла, при обнаружении которого в папке maildrop клиент удаляет его и запускает сеанс связи;
- flagwork – имя файла, который создается в папке maildrop на время работы клиента.
- resendmins – минимальное количество минут между попытками повторной передачи сообщения при отправке напрямую на SMTP сервер получателя. Если вы используете прямую отправку, то (из опыта) рекомендуется установить значение от 60 до 100, чтобы сообщения могли проходить защиту от СПАМа на некоторых серверах. По умолчанию используется значение 0 (повтор происходит при каждом сеансе по расписанию);
- auth_method – метод аутентификации для входа на сервер. По умолчанию – AUTO, в большинстве случаев этого достаточно. Но, бывает, что кривые SMTP серверы объявляют поддержку аутентификации CRAM-MD5, но неправильно ее реализуют. Поэтому введена возможность принудительно установить метод аутентификации в один из: LOGIN, PLAIN, CRAM-MD5.
Пример описания SMTP клиента в файле конфигурации:
[SMTPCL]
server = 127.0.0.1
port = 25
schedule = Every minute
timeout = 30
login = smtpuser
password = password
flagstart = smtprun
flagwork = smtp_works
resendmins = 0
auth_method = AUTO
Необходимо учесть, что при использовании режима
доставки на внешний SMTP сервер обычной практикой является обязательность использования логина и пароля для входа на SMTP сервер. OMS сам определяет метод аутентификации из предложенных SMTP сервером, выбирая тот метод, который обеспечивает наибольшую защищенность. Поддерживаются алгоритмы PLAIN, LOGIN, CRAM-MD5. Но, используя параметр
auth_method (начиная с версии 0.8.12), можно принудительно указать метод, который будет использоваться для входа на сервер.
Если SMTP сервер не умеет использовать аутентификацию, возможно использование так называемого POP before SMTP hack, для чего нужно настроить планировщик таким образом, чтобы POP3 клиент входил на этот сервер на одну минуту раньше, чем SMTP клиент. Также желательно согласовать ограничения SMTP сервера в OMS с ограничениями внешнего SMTP сервера (параметры maxmsgsize и maxrecipients).
При использовании режима
прямой доставки желательно увеличить параметр timeout до 3
00–600 секунд.
Однако, вы можете столкнуться с некоторыми трудностями, связанными с индивидуальными особенностями SMTP серверов. Например, с целью борьбы с программами массовой рассылки некоторые серверы в первый раз игнорируют сообщение, и примут его не раньше, чем через час или даже через несколько часов. Это параноидально, но кое-где до сих пор применяется. И если периодичность запуска SMTP клиента на вашей системе мала, то OMS исчерпает 10 попыток отправки значительно раньше, что приведет к возврату сообщения отправителю (или к постмастеру, если отправитель – не из локального домена). Поэтому начиная с версии 0.8.12 был добавлен параметр
resendmins, позволяющий повторять попытки повторной отправки намного реже, с указанным в этом параметре периодом в минутах.
Также ваш IP адрес может попасть в различные «черные списки» спамеров, даже не по вашей вине. Достаточно, чтобы у кого-нибудь из пользователей вашей сети поработал вирус или троян, рассылающий свои копии. В результате многие SMTP серверы откажутся принимать сообщения от вас. Придется приложить очень много усилий, чтобы убедить владельцев «черных списков» вычеркнуть вас оттуда.
Поэтому режим прямой доставки следует использовать только в том случае, когда нет совершенно никакой возможности использовать внешний SMTP сервер для маршрутизации сообщений.