The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Проверка rcpt to перед отправкой, !*! noisebringer, 29-Июн-14, 19:20  [смотреть все]
Всех приветствую я.
Нужен почтовый сервер, который бы перед приемом к отправке сообщения сначала делал бы хотя бы элементарную проверку на существование домена указанного в электронной почте.

Дело в том, что из коробки что sendmail  что postfix, что exim с легкостью отвечают 250 на откровенный бред в rcpt to и принимают сообщение к отправке.
Пока что не нашел ни одной статьи в интернете отвечающей нуждам.

Заранее благодарен :)

  • Проверка rcpt to перед отправкой, !*! mcshel, 19:47 , 29-Июн-14 (1)
  • Проверка rcpt to перед отправкой, !*! qwertykma, 11:02 , 30-Июн-14 (10)
    • Проверка rcpt to перед отправкой, !*! noisebringer, 11:35 , 30-Июн-14 (11) –1
      noisebringer@server:~$ sendmail -tv noisebr@yandex.ru < mail
      noisebr@yandex.ru... Connecting to [127.0.0.1] via relay...
      220 server ESMTP Sendmail 8.14.4/8.14.4/Debian-4.1ubuntu1; Mon, 30 Jun 2014 15:28:46 +0800; (No UCE/UBE) logging access from: localhost(OK)-localhost [127.0.0.1]
      >>> EHLO server

      250-server Hello localhost [127.0.0.1], pleased to meet you
      250-ENHANCEDSTATUSCODES
      250-PIPELINING
      250-EXPN
      250-VERB
      250-8BITMIME
      250-SIZE
      250-DSN
      250-ETRN
      250-AUTH DIGEST-MD5 CRAM-MD5
      250-DELIVERBY
      250 HELP
      >>> VERB

      250 2.0.0 Verbose mode
      >>> MAIL From:<noisebringer@server> SIZE=17 AUTH=noisebringer@server

      250 2.1.0 <noisebringer@server>... Sender ok
      >>> RCPT To:<noisebr@yandex.ru>

      ----
      Вот тут проверка MX зоны
      ----
      >>> DATA

      250 2.1.5 <noisebr@yandex.ru>... Recipient ok
      354 Enter mail, end with "." on a line by itself
      >>> .

      050 <noisebr@yandex.ru>... Connecting to mx.yandex.ru. via esmtp...
      050 220 mxfront33.mail.yandex.net (Want to use Yandex.Mail for your domain? Visit http://pdd.yandex.ru)
      050 >>> EHLO server
      050 250-mxfront33.mail.yandex.net
      050 250-8BITMIME
      050 250-PIPELINING
      050 250-SIZE 42991616
      050 250-STARTTLS
      050 250-DSN
      050 250 ENHANCEDSTATUSCODES
      050 >>> STARTTLS
      050 220 Go ahead
      050 >>> EHLO server
      050 250-mxfront33.mail.yandex.net
      050 250-8BITMIME
      050 250-PIPELINING
      050 250-SIZE 42991616
      050 250-DSN
      050 250 ENHANCEDSTATUSCODES
      050 >>> MAIL From:<noisebringer@server> SIZE=320
      050 250 2.1.0 <noisebringer@server> ok
      050 >>> RCPT To:<noisebr@yandex.ru>
      ----
      Вот тут если сервер отвечает что нет такого получателя то отправка прерывается
      ----
      050 >>> DATA
      050 250 2.1.5 <noisebr@yandex.ru> recipient ok
      050 354 Enter mail, end with "." on a line by itself
      050 >>> .
      050 451 4.7.1 Sorry, the service is currently unavailable. Please come back later. r7PPVBsJO-SjTW2kfp
      ----
      При подобных ответах ставить в очередь и гонять его время указанное в конфигах (и так работает)
      ----
      050 <noisebr@yandex.ru>... Deferred: 451 4.7.1 Sorry, the service is currently unavailable. Please come back later. Or7PPVBsJO-SjTW2kfp
      250 2.0.0 s5U7Sk7T009342 Message accepted for delivery
      noisebr@yandex.ru... Sent (s5U7Sk7T009342 Message accepted for delivery)
      Closing connection to [127.0.0.1]
      >>> QUIT

      221 2.0.0 server closing connection


      Последнее на чём я сейчас нахожусь, это понимание, что sendmail.cf это не совсем уж и набор кракозябр, а набор правил регулярных выражений, где можно использовать переменные.
      То есть вроде бы, как бы в sendmail.сf можно добавить одну строчку, в которой он делает запрос mx записи у домена потенциального получателя и потом соответствующим образом реагирует на ответ.

      • Проверка rcpt to перед отправкой, !*! mcshel, 14:29 , 30-Июн-14 (12)
        • Проверка rcpt to перед отправкой, !*! noisebringer, 15:18 , 30-Июн-14 (13) –1
          Бд ящиков как таковой нет, об этом не задумывался.
          Получатель ведь так или иначе должен находиться на каком-либо домене. Иначе кто его письмами заниматься-то будет. Вот я и имею в виду, что нужно сначала проверить просто существует ли что-нибудь что имеет на 25том порту что-нибудь готовое обрабатывать корреспонденцию для этого получателя или нет. Или хотя бы запись MX в зоне на тот случай, если там у них что-нибудь с сетью творится и нужно просто попозже попробовать.
          Для меня огромная новость, что это по умолчанию не продумано и вообще никак не проверяется.
  • Проверка rcpt to перед отправкой, !*! noisebringer, 15:31 , 30-Июн-14 (14) –1
    Внесу чуть больше конкретики.
    При выполнении команды sendmail -vt sjhkjahskasjh@lhjakjhkdjah.skhsj < mail

    Происходи вот это

    sjhkjahskasjh@lhjakjhkdjah.skhsj... Connecting to [127.0.0.1] via relay...
    220 server ESMTP Sendmail 8.14.4/8.14.4/Debian-4.1ubuntu1; Mon, 30 Jun 2014 19:25:58 +0800; (No UCE/UBE) logging access from: localhost(OK)-localhost [127.0.0.1]
    >>> EHLO server

    250-server Hello localhost [127.0.0.1], pleased to meet you
    250-ENHANCEDSTATUSCODES
    250-PIPELINING
    250-EXPN
    250-VERB
    250-8BITMIME
    250-SIZE
    250-DSN
    250-ETRN
    250-AUTH DIGEST-MD5 CRAM-MD5
    250-DELIVERBY
    250 HELP
    >>> VERB

    250 2.0.0 Verbose mode
    >>> MAIL From:<noisebringer@server> SIZE=17 AUTH=noisebringer@server

    250 2.1.0 <noisebringer@server>... Sender ok
    >>> RCPT To:<sjhkjahskasjh@lhjakjhkdjah.skhsj>
    >>> DATA

    250 2.1.5 <sjhkjahskasjh@lhjakjhkdjah.skhsj>... Recipient ok (!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)
    !!!!!!!!!!!!!!!!!ЧТО ЗА ГЛУПОСТЬ КАК Recipien может быть ok


    354 Enter mail, end with "." on a line by itself
    >>> .

    050 <noisebringer@server>... Connecting to local...
    050 <noisebringer@server>... Sent
    250 2.0.0 s5UBPweF009978 Message accepted for delivery
    sjhkjahskasjh@lhjakjhkdjah.skhsj... Sent (s5UBPweF009978 Message accepted for delivery)
    Closing connection to [127.0.0.1]
    >>> QUIT

    221 2.0.0 server closing connection

    И потом на ящик пользователя от имени которого выполняется команда отправляется письмо, что не существует домена, которому можно подключиться и отправить это письмо. Это ведь идиотизм.

    Сейчас у меня как раз стоит задача устранения этой глупости. То есть нужно чтобы sendmail сразу проверял, есть ли куда подсоединяться чтобы отправить это письмо.

  • Проверка rcpt to перед отправкой, !*! Moomintroll, 14:23 , 01-Июл-14 (28)
  • Проверка rcpt to перед отправкой, !*! noisebringer, 16:52 , 02-Июл-14 (29) –1
    На этот раз в словах Паханиво водилась доля истины. Очень много бреда было здесь в том числе и мной написано.

    В моём случае, если задуматься, то это действительно не зачем. Почтовый сервер используется для веб-сервиса, а в данном случае, чтобы избежать разного рода дофига умной деятельности дофига хэккеров, лучше отвечать пользователю чем-нибудь до талого нейтральным, из серии: "адрес принят для отправки". Следовательно все мои два желания по поводу мх и получателя, оказались бессмысленными.

    Всем спасибо за приятную, иногда заставляющую задуматься переписку :)

    PS Что минусов-то понаставили?! :))

  • Проверка rcpt to перед отправкой, !*! Павел, 20:34 , 08-Июл-14 (31)
    • Проверка rcpt to перед отправкой, !*! Pahanivo, 07:28 , 09-Июл-14 (32)
    • Проверка rcpt to перед отправкой, !*! noisebringer, 05:44 , 10-Июл-14 (33) –1
      Мешает то, что пользователь, который указывает почту в сервисе не может сразу увидеть то, что он написал бред.
      То есть чтобы сделать это с помощью сендмейл нужно принять письмо к отправке, а потом ждать либо деливери еррор, либо курить логи. Что одно, что второе, по крайней мере на данный момент - геморрой невероятный.
      У эксима с эти делом намного проще. Подобные вещи у него зашиты в функционал и включаются-выключаются парой строчек конфига.
      У постфикса это вроде бы сделано так же как и у эксима, но лень заморачиваться было, да и вообще не нравится постфикс мне.





Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру