|
|
|
(smtp notify) Какие есть гарантии?
|
|||
|---|---|---|---|
|
#18+
Всем привет. Смотрю видео с собеседованиями (ради саморазвития) и тут услышал такую фразу, что "при передаче письма по smtp невозможно 100% гарантировать его доставку". Загуглил и нашёл, что в протоколе предусмотрено указание notify=success. Вот теперь самое интересное, является ли реализация оповещение о доставке обязательным по спецификации smtp. Ну то есть, если я запросил, то могу ли я по правилам протокола быть уверен, что сервер мне сообщит об удачной доставке? P.S. Просто уже натыкался на формулировку, которую при первом чтении понял как "каждому письму ДОЛЖЕН БЫТЬ присвоен идентификатор: Message-ID", а при тщательном разборе со словарём оказалось что "каждому письму СЛЕДУЕТ присвоить идентификатор: Message-ID". В английском не очень силён, потому прошу помощи (на английскую спецификацию просьба не отсылать... пришёл оттуда). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2016, 22:29 |
|
||
|
(smtp notify) Какие есть гарантии?
|
|||
|---|---|---|---|
|
#18+
ПрограмёрВ английском не очень силён, потому прошу помощи (на английскую спецификацию просьба не отсылать... пришёл оттуда).Какую именно? Ссылку давай, а то что-то я никаких "notify=success" в SMTP не помню. Но по логике вопроса, подозреваю что ответ на: "могу ли я по правилам протокола быть уверен, что сервер мне сообщит об удачной доставке?" будет "да". Если подобная фича включена в протокол, то отправляющий сервер будет долбить получателя пока тот не ответит об успешной доставке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2016, 23:20 |
|
||
|
(smtp notify) Какие есть гарантии?
|
|||
|---|---|---|---|
|
#18+
White OwlПрограмёрВ английском не очень силён, потому прошу помощи (на английскую спецификацию просьба не отсылать... пришёл оттуда).Какую именно? Ссылку давай, а то что-то я никаких "notify=success" в SMTP не помню. Но по логике вопроса, подозреваю что ответ на: "могу ли я по правилам протокола быть уверен, что сервер мне сообщит об удачной доставке?" будет "да". Если подобная фича включена в протокол, то отправляющий сервер будет долбить получателя пока тот не ответит об успешной доставке. https://tools.ietf.org/html/rfc3461#section-4.1 вот отсюда пришёл :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2016, 23:23 |
|
||
|
(smtp notify) Какие есть гарантии?
|
|||
|---|---|---|---|
|
#18+
Ну правильно, это ESMPT - Extended SMTP. И нет, я дал неправильный ответ... Увы... В данном случае, notify=success означает только то, что отправитель желает получит уведомление если письмо доставлено. ПрограмёрВот теперь самое интересное, является ли реализация оповещение о доставке обязательным по спецификации smtp.Нет, не является. В SMTP этого вообще не требуется. Читай внимательнее третью главу данного RFC. Там как раз говорится о взаимодействии стандартного SMTP сервера с сервером который поддерживает это DSN расширение. ПрограмёрНу то есть, если я запросил, то могу ли я по правилам протокола быть уверен, что сервер мне сообщит об удачной доставке?Нет. Во первых, если письмо идет через несколько MTA хостов и один из них в середине цепочки не поддерживает DSN - облом. Читай третий абзац третьей главы - сервер приложит все усилия для передачи запроса на подтверждение по цепочке, но... Во вторых, само подтверждение тоже идет обратно по цепочке серверов (не обязательно той-же и что письмо "туда") и соответственно не обязательно что подтверждение дойдет до отправителя вообще. Сервер получатель его пошлет конечно же, но... Но если уж ты получил успешный DSN - значит письмо точно легло в ящик получателя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2016, 23:54 |
|
||
|
(smtp notify) Какие есть гарантии?
|
|||
|---|---|---|---|
|
#18+
White Owl, понял. Жаль. Как говорил, плохо владею английским. Но постараюсь вникнуть в ссылки :) Последний вопрос: правильно ли я понял, что всё выше написанное касается также и FAILURE? Но на failure не влияют MTA в цепочке (так как "урезание" этого заголовка по-умолчанию будет восприняток как FAILURE или FAILURE,DELAY) То есть возможна ситуация, что даже при ошибке сервер не отправит уведомление? Значит, реализуя рассылку нельзя рассчитывать на DSN вообще (ведь на получателе оно может не поддерживаться)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2016, 00:47 |
|
||
|
(smtp notify) Какие есть гарантии?
|
|||
|---|---|---|---|
|
#18+
https://tools.ietf.org/html/rfc3461#section-1 The SMTP protocol requires that an SMTP server provide notification of delivery failure, if it determines that a message cannot be delivered to one or more recipients. А... ну вот ) Так всё же failure по протоколу обязательно? Даже без поддержек разных там расширений? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2016, 01:15 |
|
||
|
(smtp notify) Какие есть гарантии?
|
|||
|---|---|---|---|
|
#18+
Да. В стандартном SMTP прописано что надо информировать отправителя если не смогли доставить. Поэтому получается что notify=failure,delay это и есть стандарт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2016, 01:46 |
|
||
|
(smtp notify) Какие есть гарантии?
|
|||
|---|---|---|---|
|
#18+
ПрограмёрТо есть возможна ситуация, что даже при ошибке сервер не отправит уведомление? Значит, реализуя рассылку нельзя рассчитывать на DSN вообще (ведь на получателе оно может не поддерживаться)?Ну я бы не был настолько пессимистичным. RFC то написан в 2003-ем году. Это значит что к тому времени уже как минимум пара популярных почтовых серверов это поддерживала... С тех пор прошло тринадцать лет :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2016, 01:50 |
|
||
|
(smtp notify) Какие есть гарантии?
|
|||
|---|---|---|---|
|
#18+
White Owlотправляющий сервер будет долбить получателя пока тот не ответит об успешной доставке.Это не так. Есть тайм-аут передачи (по умолчанию вроде 5 суток), по прошествии которого сервер в любом случае посчитает, что облом, отстанет от сервера адресата и сообщит о недоставке уведомления. У некоторых серверов есть отдельный тайм-аут на получение уведомления о доставке, достаточно, кстати, короткий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2016, 09:02 |
|
||
|
(smtp notify) Какие есть гарантии?
|
|||
|---|---|---|---|
|
#18+
ПрограмёрВот теперь самое интересное, является ли реализация оповещение о доставке обязательным по спецификации smtpНет, как и любое другое расширение. Даже если расширение реализовано, всё, что "SHOULD" (== должен, но не обязан) может быть проигнорировано при достаточных основания. Ещё более того: запросы уведомления о доставке, обычно, игнорируются серверами, т.к. имитацией этого механизма "пользуются спамеры". С моей кочки зрения это лечение перхоти гильотиной, но - "добро пожаловать в реальный мир, Фёдор Сумкин". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2016, 21:46 |
|
||
|
(smtp notify) Какие есть гарантии?
|
|||
|---|---|---|---|
|
#18+
Чего-то я заинтересовался вопросом :) Вот, нарыл по сендмейлу: http://www.sendmail.org/~ca/email/dsn885.html DSN уже имелись в 2000-ом году. http://www.sendmail.org/~ca/email/dsn.html Микро FAQ из 2006-го года. Ну и вишенкой, пишешь в конфиг своего sendmail: PrivacyOptions=noreceipts И NOTIFY=SUCCESS будет полностью игнорирован. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2016, 22:41 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=39244527&tid=1340705]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
167ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 250ms |
| total: | 510ms |

| 0 / 0 |
