воскресенье, 1 апреля 2007 г.

Умение отправить письмо

Ну в общем-то отправить письмо - дело нехитрое. Указал в почтовике сервер отправки, нажал "Отправить", да оно и ушло. Какой сервер указать? Если у вас хороший Интернет-провайдер, то будет правильным использовать сервер, который он предоставляет. Другим вариантом является использование сервера той службы, где у вас находится почтовый ящик.

А теперь начнём с начала. Обычный (например, postfix, sendmail) почтовый сервер умеет работать в режимах MTA (передачи почты) и MSA (приёма почты). По сути это разные режимы:
  • MTA (Mail Transfer Agent) имеет дело с другими почтовыми серверами, получая от них корреспонденцию для своих адресов;
  • MSA (Mail Submission Agent) принимает почту от своих пользователей (определяя их авторизацией, или по IP-адресу) для дальнейшей передачи наружу - то есть новые письма в сети должны появляться только через него.
Беда в том, что никто не включает и не использует MSA, предлагая пользователям отправлять письма через 25-ой порт. Неужели ни у кого нет потребности обрабатывать входящую почту не так, как исходящие письма? Таким образом возможности по защите от спама используются не полностью.

Например, мне нужно для писем наших пользователей предусмотреть следующее:
  • отключить проверку писем через amavis;
  • включить проверку отправляемых писем, чтобы отправитель сразу знал о проблеме с адресом, на который он пытается отправить письмо.

Вообще об отправке писем есть целый набор рекомендаций RFC2476 (Message Submission), где, в разделе "3.1. Submission Identification" указано, что для отправки письма нужно обратиться к MSA-серверу на порту 587 (submission). Если требуется обеспечить работу почтовой программы, не поддерживающей изменение порта, то предлагают расположить MSA-сервер на 25 порту, но на отдельном IP.

А к чему я это всё начал? Сегодня поступила жалоба от одного из клиентов, который отправляет письма из своей домашней сети (завирусованной и находящейся во всех мыслимых чёрных списках), что его письма не доходят. После проверки выяснилось, что его письма рассматривались на общих основаниях и были расценены как спам.

Я последовал рекомендации из RFC и теперь почта гарантированно будет отправлена наружу, мимо всех фильтров, если отправлять её через mail.etersoft.ru:587, с авторизацией.
С чем всех и поздравляю :)

Немного ссылок на давние статьи и обсуждения по данной теме:
http://www.jetinfo.ru/2000/3/1/article1.3.2000290.html
http://www.spamtest.ru/document.html?id=0027
http://www.sendmail.org/~gshapiro/8.10.Training/MSA.html
http://www.anrb.ru/linux/submis.html

1 комментарий:

Антон комментирует...

Столкнулся с тем же самым.

А почему через Вас домашние сети отправляют?