URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 95676
[ Назад ]

Исходное сообщение
"Проверка rcpt to перед отправкой"

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

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

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


Содержание

Сообщения в этом обсуждении
"Проверка rcpt to перед отправкой"
Отправлено mcshel , 29-Июн-14 19:47 
> Всех приветствую я.
> Нужен почтовый сервер, который бы перед приемом к отправке сообщения сначала делал
> бы хотя бы элементарную проверку на существование домена указанного в электронной
> почте.
> Дело в том, что из коробки что sendmail  что postfix, что
> exim с легкостью отвечают 250 на откровенный бред в rcpt to
> и принимают сообщение к отправке.
> Пока что не нашел ни одной статьи в интернете отвечающей нуждам.
> Заранее благодарен :)

rcpt имеется ввиду на ваш домен? Т.е. отправка из интернет к вам?

Если да, то во всех перечисленных MTA это есть. Например для postfix в конфиге это mydestination



"Проверка rcpt to перед отправкой"
Отправлено noisebringer , 29-Июн-14 20:01 
> rcpt имеется ввиду на ваш домен? Т.е. отправка из интернет к вам?

Rcpt имеется в виду абсолютно любой
Отправка от меня


"Проверка rcpt to перед отправкой"
Отправлено mcshel , 29-Июн-14 20:06 
>> rcpt имеется ввиду на ваш домен? Т.е. отправка из интернет к вам?
> Rcpt имеется в виду абсолютно любой
> Отправка от меня

Тогда я смысла не вижу, MTA из коробки сам все проверит и если не сможет отправить, пришлет отправителю отбойку.


"Проверка rcpt to перед отправкой"
Отправлено noisebringer , 29-Июн-14 20:12 
> Тогда я смысла не вижу, MTA из коробки сам все проверит и
> если не сможет отправить, пришлет отправителю отбойку.

Отправителем являюсь я. У меня есть некоторое количество ящиков. Часть из которых может быть не действительной. И мне не нужна отбойка на каждый недействительный ящик. Мне нужно "550 нельзя туда отправить"

В общем мне нужно, чтобы когда сервере получает нечто вроде
rcpt to: fdskjhaksljhdf@fkjhdfkjsdh.fsdafas
он бы не принимал письмо к отправке, а тут же отвечал бы что нельзя туда ничего отправить ибо это бред.


"Проверка rcpt to перед отправкой"
Отправлено mcshel , 29-Июн-14 20:34 
>> Тогда я смысла не вижу, MTA из коробки сам все проверит и
>> если не сможет отправить, пришлет отправителю отбойку.
> Отправителем являюсь я. У меня есть некоторое количество ящиков. Часть из которых
> может быть не действительной. И мне не нужна отбойка на каждый
> недействительный ящик. Мне нужно "550 нельзя туда отправить"
> В общем мне нужно, чтобы когда сервере получает нечто вроде
> rcpt to: fdskjhaksljhdf@fkjhdfkjsdh.fsdafas
> он бы не принимал письмо к отправке, а тут же отвечал бы
> что нельзя туда ничего отправить ибо это бред.

Реализовать можно через проверку на регулярные выражения.

Для postfix, примеры есть тут:
http://postfix.ru/port/codes/config2_axel.html

В сторону header_checks попробуйте посмотреть.

В exim это тоже можно сделать, но будет несколько сложнее разобраться особенно на начальном уровне. Еще раз повторю, что смысла в этом я не вижу.


"Проверка rcpt to перед отправкой"
Отправлено noisebringer , 30-Июн-14 07:43 
Проверка на регулярные выражения даст только соответствие строки определенным правилам, а не проверит на существование MX запись в зоне хоста.

"Проверка rcpt to перед отправкой"
Отправлено Medlar , 07-Авг-14 17:37 
> В общем мне нужно, чтобы когда сервере получает нечто вроде
> rcpt to: fdskjhaksljhdf@fkjhdfkjsdh.fsdafas
> он бы не принимал письмо к отправке, а тут же отвечал бы
> что нельзя туда ничего отправить ибо это бред.

===
Aug  7 18:49:18 mail sendmail[33085]: s77CnHr4033085: from=<gatling@anrb.ru>, size=366, class=0, nrcpts=1, msgid=<53E37587.9060404@anrb.ru>, proto=ESMTP, daemon=MTA, relay=gatling.anrb.ru [x.y.z.t]
Aug  7 18:49:19 mail sendmail[33087]: s77CnHr4033085: to=<fdskjhaksljhdf@fkjhdfkjsdh.fsdafas>, delay=00:00:01, xdelay=00:00:00, mailer=esmtp, pri=120366, relay=fkjhdfkjsdh.fsdafas, dsn=5.1.2, stat=Host unknown (Name server: fkjhdfkjsdh.fsdafas: host not found)
Aug  7 18:49:19 mail sendmail[33087]: s77CnHr4033085: s77CnIr4033087: DSN: Host unknown (Name server: fkjhdfkjsdh.fsdafas: host not found)
Aug  7 18:49:19 mail sendmail[33087]: s77CnIr4033087: to=gatling, delay=00:00:01, xdelay=00:00:00, mailer=local, pri=30000, dsn=2.0.0, stat=Sent


======
SLocal_check_rcpt
R$*                $: $(storage {Mail_to} $@ $1 $) $1
R$*                $: $(syslog syslog:rcpt:001: $1 $) $1

# Canonify
R$*                $: <STOP> $>3 $1
R$*                $: $(syslog syslog:rcpt:002: $1 $) $1
R<STOP>$+<@ $+ .>        $: CONTINUE
R$*                $: $(syslog syslog:rcpt:003: $1 $) $1
R<STOP>$+<@ $+ >        $#error $@ 5.1.2 $: "553 Name server: "$2": Host not found."

# Return to Mail_to
R$*                $: $&{Mail_to}
R$*                $: $(syslog syslog:rcpt:004: $1 $) $1

# Clear the macro Mail_to for the next message
R$*                $: $(storage {Mail_to} $) $1

======
Aug  7 19:10:58 mail sendmail[41331]: s77DAvKA041331: syslog:rcpt:001:<fdskjhaksljhdf@fkjhdfkjsdh.fsdafas>
Aug  7 19:10:58 mail sendmail[41331]: s77DAvKA041331: syslog:rcpt:002:<STOP>fdskjhaksljhdf<@fkjhdfkjsdh.fsdafas>
Aug  7 19:10:58 mail sendmail[41331]: s77DAvKA041331: syslog:rcpt:003:<STOP>fdskjhaksljhdf<@fkjhdfkjsdh.fsdafas>
Aug  7 19:10:58 mail sendmail[41331]: s77DAvKA041331: ruleset=check_rcpt, arg1=<fdskjhaksljhdf@fkjhdfkjsdh.fsdafas>, relay=gatling.anrb.ru [x.y.z.t], reject=553 5.1.2 <fdskjhaksljhdf@fkjhdfkjsdh.fsdafas>... Name server:fkjhdfkjsdh.fsdafas: Host not found.
Aug  7 19:11:04 mail sendmail[41331]: s77DAvKA041331: from=<gatling@anrb.ru>, size=377, class=0, nrcpts=0, proto=ESMTP, daemon=MTA, relay=gatling.anrb.ru [x.y.z.t]

======
Aug  7 19:29:54 mail sendmail[46419]: s77DTsUR046419: syslog:rcpt:001:<some-mailru-user@mail.ru>
Aug  7 19:29:54 mail sendmail[46419]: s77DTsUR046419: syslog:rcpt:002:<STOP>some-mailru-user<@mail.ru.>
Aug  7 19:29:54 mail sendmail[46419]: s77DTsUR046419: syslog:rcpt:003:CONTINUE
Aug  7 19:29:55 mail sendmail[46419]: s77DTsUR046419: from=<gatling@anrb.ru>, size=353, class=0, nrcpts=1, msgid=<53E37F0B.5070102@anrb.ru>, proto=ESMTP, daemon=MTA, relay=gatling.anrb.ru [1.1.1.1]
Aug  7 19:29:56 mail sendmail[46422]: s77DTsUR046419: to=<some-mailru-user@mail.ru>, delay=00:00:02, xdelay=00:00:01, mailer=esmtp, pri=120353, relay=mxs.mail.ru. [217.69.139.150], dsn=2.0.0, stat=Sent (OK id=1XFNkw-0001J8-Mj)


"Проверка rcpt to перед отправкой"
Отправлено fantom , 11-Дек-14 12:32 
>> Тогда я смысла не вижу, MTA из коробки сам все проверит и
>> если не сможет отправить, пришлет отправителю отбойку.
> Отправителем являюсь я. У меня есть некоторое количество ящиков. Часть из которых
> может быть не действительной. И мне не нужна отбойка на каждый
> недействительный ящик. Мне нужно "550 нельзя туда отправить"
> В общем мне нужно, чтобы когда сервере получает нечто вроде
> rcpt to: fdskjhaksljhdf@fkjhdfkjsdh.fsdafas
> он бы не принимал письмо к отправке, а тут же отвечал бы
> что нельзя туда ничего отправить ибо это бред.

Извините, но это вы несете бред...
Когда почта изобреталась - большинство линков было "диалапного" типа, т.е. очень многие сервера небыли ПОСТОЯННО доступны.
Если MTA будет поступать так, как вы описываете изначально, то как только пропадет доступ к инету у сервера он будет отбивать вообще ВСЕ попытки передать что-либо...

А если уж сильно хочется - то заказанное вами выполняется банальной проверкой существования адреса отправителя и получателя.

Сию проверку умеет выполнять и sendmail (smf-sav или milter-sender), и postfix ( reject_unverified_sender) и exim (sender_verify)


"Проверка rcpt to перед отправкой"
Отправлено qwertykma , 30-Июн-14 11:02 
ИМХО то что вы хотите - не реализуемо. Вы хотите что-бы как только вы начали набирать адрес получателя почтовик до получения всего письма сразу проверял существование этого адреса не дожидаясь ввода вами ни сабжа, ни даты. Т.е. не закрывая одну почтовую сессию, он (почтовик) должен сразу-же открывать другую, для отправки того что он еще не принял. Я правильно понял то что вы хотите? Просто так проверять наличие только домена в вашем случае бессмысленно, Ну проверили вы доменную часть, где гарантия что вы ввели правильно имя ящика? А если там грейлист? А если просто сейчас сервер получателя не доступен, а вы уже получили отлуп?

"Проверка rcpt to перед отправкой"
Отправлено noisebringer , 30-Июн-14 11:35 
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 , 30-Июн-14 14:29 
> RCPT To:<noisebr@yandex.ru>
>> ----
>Вот тут если сервер отвечает что нет такого получателя то отправка прерывается

Да он не домен проверяет, а получателя. У вас БД ящиков где хранится?


"Проверка rcpt to перед отправкой"
Отправлено noisebringer , 30-Июн-14 15:18 
Бд ящиков как таковой нет, об этом не задумывался.
Получатель ведь так или иначе должен находиться на каком-либо домене. Иначе кто его письмами заниматься-то будет. Вот я и имею в виду, что нужно сначала проверить просто существует ли что-нибудь что имеет на 25том порту что-нибудь готовое обрабатывать корреспонденцию для этого получателя или нет. Или хотя бы запись MX в зоне на тот случай, если там у них что-нибудь с сетью творится и нужно просто попозже попробовать.
Для меня огромная новость, что это по умолчанию не продумано и вообще никак не проверяется.

"Проверка rcpt to перед отправкой"
Отправлено Аноним , 30-Июн-14 19:26 
> Для меня огромная новость, что это по умолчанию не продумано и вообще никак не проверяется.

Потому что оно нафиг не надо. Получил письмо _полностью_ и либо доставил, либоо вернул отлуп отсылавшему.
Ты же хочешь жёсткого изврата и обижаешься что девушки бороды не носят 8-\
Причём если ты даже и сделаешь это как нибудь - задосят тебя паря, как пацака :)


"Проверка rcpt to перед отправкой"
Отправлено noisebringer , 30-Июн-14 15:31 
Внесу чуть больше конкретики.
При выполнении команды 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 перед отправкой"
Отправлено Филимон Задумчивый , 30-Июн-14 15:47 
> Сейчас у меня как раз стоит задача устранения этой глупости. То есть
> нужно чтобы sendmail сразу проверял, есть ли куда подсоединяться чтобы отправить
> это письмо.

То, что сейчас сделано - сделано наиболее разумным способом. Глупость - это то, что вы пытаетесь сделать. Домен, на который вы шлёте может временно не резолвится по техническим причинам (dns перегружен, недоступен, в процессе конфигурации...). Не нужно озадачивать пользователя такими подробностями. Через некоторое время dns сервер очнётся и письмо будет доставлено. Для этого сервер и нужен. + С введением новых доменов вроде кириллических, pro, p0rno и т.д. нельзя точно сказать какой домен правильный, а какой нет, не разрезолвив его dnsом. А у dns могут быть временнные проблемы.


"Проверка rcpt to перед отправкой"
Отправлено Филимон Задумчивый , 30-Июн-14 15:49 
На всякий случай, если я не тем концом воткнулся и ваш сервер принимает письма для любого адреса, потом рассылая ответное сообщение, что нету такого пользователя, то это да. Это чините скорее - вас за такое возыметь могу все. От спамеров до чёрных списков.



"Проверка rcpt to перед отправкой"
Отправлено tetramin , 10-Дек-14 11:15 
> На всякий случай, если я не тем концом воткнулся и ваш сервер
> принимает письма для любого адреса, потом рассылая ответное сообщение, что нету
> такого пользователя, то это да. Это чините скорее - вас за
> такое возыметь могу все. От спамеров до чёрных списков.

Не знаю, правильно ли я всё понял... У меня вот такая проблема: прислал мне спамер письмо с адреса бредовый_не_существующий_адрес@реальный_домен.com на адрес, которого у меня нет. Мой постфикс ему шлёт отлуп, что адреса нет. Как-то православно можно сделать, чтобы проверял, что адрес бредовый и не существует, что на него почту от MAILER-DAEMON слать не стоит? А то из-за этой фигни мой айпи попадает постоянно в блеклисты...


"Проверка rcpt to перед отправкой"
Отправлено PaulZibert , 11-Дек-14 17:55 
не оно? http://freesource.info/wiki/Dokumentacija/Postfix/antispam/v...


"Проверка rcpt to перед отправкой"
Отправлено tetramin , 12-Дек-14 09:36 
> не оно? http://freesource.info/wiki/Dokumentacija/Postfix/antispam/v...

Вроде оно. Вроде даже настраивал у себя. Только сейчас конфиг смотрю - нет этой настройки! Спасибо большое.


"Проверка rcpt to перед отправкой"
Отправлено fantom , 12-Дек-14 10:21 
>> не оно? http://freesource.info/wiki/Dokumentacija/Postfix/antispam/v...
> Вроде оно. Вроде даже настраивал у себя. Только сейчас конфиг смотрю -
> нет этой настройки! Спасибо большое.

Сию проверку умеет выполнять и sendmail (smf-sav или milter-sender), и postfix ( reject_unverified_sender) и exim (sender_verify)


"Проверка rcpt to перед отправкой"
Отправлено noisebringer , 30-Июн-14 15:54 
Ок.
Тогда попытаюсь сделать по-другому.
Отправка почты отдельно. Прием почты отделно.
Есть ли какая-нибудь утилита, котороая бы пробовала отправить письмо и если этого не происходит по причине отсутствия (нерезолвинья) домена получателя или при ответе домена получателя о том, что такого ящика в базе нет (знаю что не все так отвечают) говорила бы о том, что прямо сейчас письмо отправить не получилось по такой-то причине.

"Проверка rcpt to перед отправкой"
Отправлено Филимон Задумчивый , 30-Июн-14 16:04 

> что не все так отвечают) говорила бы о том, что прямо
> сейчас письмо отправить не получилось по такой-то причине.

О том, что ящика нет на сервере отправитель узнаёт почти сразу - это перманентная ошибка. Откладываются до суток вроде только временные ошибки вроде нерезолвинга.

Утилита называется "скрипт на перле, читающий лог по уведомлениями File::Tail, например", ну, или если вы хипстер-серпентолог "утилита на питоне".

Но, рассказывая всем пользователям про временные ошибки доставки (а о перманентных они узнают от сервера напрямую), вы ничего кроме головной боли не поимеете. Ну, или геморроя...


"Проверка rcpt to перед отправкой"
Отправлено Филимон Задумчивый , 30-Июн-14 16:10 
> Ну, или геморроя...

Если вашим клиентам так важно знать, что их письмо до адресата доставлено, то пусть жамкнут в почтовом клиенте подтверждение о доставке и уведомление о прочтении. В Thunderbird есть Пункт в меню Настройки


"Проверка rcpt to перед отправкой"
Отправлено noisebringer , 30-Июн-14 16:25 
Пользователь это я. И я хочу, видеть все эти ошибки. Тем более, что они не так часто видятся (исходя из того что я видел пока разбирался со всем этим делом общаясь по телнету с почтовыми серверами яндекса, гугла и хотмейла, и просмотра логов сендмейла).

И вот тут-то передо мной встает адская дилемма: угрохать недельку другую, а то и месяц другой на то, чтобы написать самостоятельно программу, которая бы для отправки сообщения присоединялась к домену получателя и отправляла сразу на его сервер письмо. Или найти готовое решение, тем более, что мне так и так нужно будет получать почту для своего домена, где уже 100% проще использовать готовый сервер.

Пока что занят вторым.

P.S. Cерпентолог - прикол :)))


"Проверка rcpt to перед отправкой"
Отправлено Аноним , 30-Июн-14 16:46 
> Пользователь это я. И я хочу, видеть все эти ошибки. Тем более,
> что они не так часто видятся (исходя из того что я
> видел пока разбирался со всем этим делом общаясь по телнету с
> почтовыми серверами яндекса, гугла и хотмейла, и просмотра логов сендмейла).

Ну так берите sendmail.cf в руки, пишите локальный рулесет check_rcpt и получайте все Ваши ошибки.... только зачем плодить сущности ?


"Проверка rcpt to перед отправкой"
Отправлено noisebringer , 30-Июн-14 17:03 
Не держится он в руках пока что-то.
В голове уложилось только одно, что слева условия, справа их обработка.
А как в этом всём брать домен получателя, потом его резолвить, потом проверять ответ у меня в голове ещё слишком трансцендентен, чтобы преобразить это в код.

Плодить сущности? Если найду готовую сущность подходящую моим нуждам, то незамедлительно прекращу думать об этом :)


"Проверка rcpt to перед отправкой"
Отправлено Аноним , 30-Июн-14 19:35 
> 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

Исперичка :) Пшел RTFM там очень доходчиво расписано __что__ тут проверяется :)


> Сейчас у меня как раз стоит задача устранения этой глупости.

Да. Срочто отрежь себе моск, всё равно не работает.
Далее - очень важно!!! - если уже сделал детишек - срочно придуши, не плоди уродцев.
Ну и на завершение, как мера профилактики - отрежь себе яйца.

Действуй и ты спасёшь этот мир :)


"Проверка rcpt to перед отправкой"
Отправлено noisebringer , 30-Июн-14 22:04 
-В сети вы все такие дерзкие. А слабо это в лицо сказать?
-Ок. Скинь фотку.
Это я к тому, что проще некоторым сетевым гражданам нужно быть.

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


"Проверка rcpt to перед отправкой"
Отправлено qwertykma , 01-Июл-14 07:51 
> А по делу. Скорее всего направление мысли пойдет дальше в сторону обработки
> логов сервера. То есть чтобы он принимал сообщение, а дальше уже
> сообщал об ошибках по мере их поступления.
> А может не логов.
> Кстати говоря как именно лучше наладить взаимосвязь в данном контексте С и
> sendmail.

Любой нормальный почтовик так и работает. Что престнопамятный сендмэйл, что постфикс с экзимиом, они принимают письмо, а потом пишут логи. Вам надо свой написать, и вополотить в жизнь все свои желания. А то вы действительно хотите от почтовых серверов функций не свойственных им.


"Проверка rcpt to перед отправкой"
Отправлено Pahanivo , 01-Июл-14 11:19 
Пиплы, забейте на него http://www.opennet.ru/~noisebringer. Почитайте историю его постов и вы поймете что товарищ "совсем куку".
Он уже которую тему нелепую плодит по изобретению велосипедов и всякой прочей куйне.

"Проверка rcpt to перед отправкой"
Отправлено Hammer , 03-Июл-14 13:17 
>[оверквотинг удален]
>>>>> DATA
>> 250 2.1.5 <sjhkjahskasjh@lhjakjhkdjah.skhsj>... Recipient ok (!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)
>> !!!!!!!!!!!!!!!!!ЧТО ЗА ГЛУПОСТЬ КАК Recipien может быть ok
> Исперичка :) Пшел RTFM там очень доходчиво расписано __что__ тут проверяется :)
>> Сейчас у меня как раз стоит задача устранения этой глупости.
> Да. Срочто отрежь себе моск, всё равно не работает.
> Далее - очень важно!!! - если уже сделал детишек - срочно придуши,
> не плоди уродцев.
> Ну и на завершение, как мера профилактики - отрежь себе яйца.
> Действуй и ты спасёшь этот мир :)

Да Вы просто хам!


"Проверка rcpt to перед отправкой"
Отправлено Moomintroll , 01-Июл-14 14:23 
> Нужен почтовый сервер, который бы перед приемом к отправке сообщения сначала делал
> бы хотя бы элементарную проверку на существование домена указанного в электронной
> почте.

У exim'а есть мощная фича — callout:

http://exim.org/exim-html-current/doc/html/spec_html/ch-acce...

Если нужно проверять только наличие домена, то можно использовать поиск в DNS:

http://exim.org/exim-html-current/doc/html/spec_html/ch-file...

Что касается callout'ов — вещь мощная, сам пользуюсь, но следует учитывать, что если

«У меня есть некоторое количество ящиков. Часть из которых может быть не действительной. И мне не нужна отбойка на каждый недействительный ящик.»

то на той стороне тоже может быть callout для отправителя и Ваше письмо просто не примут.


"Проверка rcpt to перед отправкой"
Отправлено noisebringer , 02-Июл-14 16:52 
На этот раз в словах Паханиво водилась доля истины. Очень много бреда было здесь в том числе и мной написано.

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

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

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


"Проверка rcpt to перед отправкой"
Отправлено Павел , 08-Июл-14 20:34 
> Всех приветствую я.
> Нужен почтовый сервер, который бы перед приемом к отправке сообщения сначала делал
> бы хотя бы элементарную проверку на существование домена указанного в электронной
> почте.
> Дело в том, что из коробки что sendmail  что postfix, что
> exim с легкостью отвечают 250 на откровенный бред в rcpt to
> и принимают сообщение к отправке.
> Пока что не нашел ни одной статьи в интернете отвечающей нуждам.
> Заранее благодарен :)

Я работал с exim. На rcpt to обычно не делают callout. Делают на mail from (чтобы принимать от существующих адресов). На rcpt to сервер принимает письмо и это нормально. Если он его не доставит, он должен сгенерировать рикошет отправителю. Что Вам мешает? Письма в очереди?


"Проверка rcpt to перед отправкой"
Отправлено Pahanivo , 09-Июл-14 07:28 
> Что Вам мешает?

тссссс. ему мешает не закончившиеся весеннее обострение.
не поднимай тему - чувак только успокоился.



"Проверка rcpt to перед отправкой"
Отправлено noisebringer , 10-Июл-14 05:44 
Мешает то, что пользователь, который указывает почту в сервисе не может сразу увидеть то, что он написал бред.
То есть чтобы сделать это с помощью сендмейл нужно принять письмо к отправке, а потом ждать либо деливери еррор, либо курить логи. Что одно, что второе, по крайней мере на данный момент - геморрой невероятный.
У эксима с эти делом намного проще. Подобные вещи у него зашиты в функционал и включаются-выключаются парой строчек конфига.
У постфикса это вроде бы сделано так же как и у эксима, но лень заморачиваться было, да и вообще не нравится постфикс мне.



"Проверка rcpt to перед отправкой"
Отправлено ALex_hha , 22-Июл-14 18:45 
> Я работал с exim. На rcpt to обычно не делают callout. Делают на mail from (чтобы принимать от существующих адресов).

как ты себе представляешь проверить адрес приемника на сталии mail from?!

> На rcpt to сервер принимает письмо и это нормально.

о как, а на DATA он забивает?

> Если он его не доставит, он должен сгенерировать рикошет отправителю. Что Вам мешает? Письма в очереди?

если я правильно понял ТС, то он хочет, чтобы при нажатии отправить в MUA сразу вылезало окно с ошибкой - "Не могу отправить", а не через 2-3 минуты приходил отлуп.