powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / (smtp notify) Какие есть гарантии?
12 сообщений из 12, страница 1 из 1
(smtp notify) Какие есть гарантии?
    #39244392
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.
Смотрю видео с собеседованиями (ради саморазвития) и тут услышал такую фразу, что "при передаче письма по smtp невозможно 100% гарантировать его доставку".

Загуглил и нашёл, что в протоколе предусмотрено указание notify=success.

Вот теперь самое интересное, является ли реализация оповещение о доставке обязательным по спецификации smtp. Ну то есть, если я запросил, то могу ли я по правилам протокола быть уверен, что сервер мне сообщит об удачной доставке?

P.S. Просто уже натыкался на формулировку, которую при первом чтении понял как "каждому письму ДОЛЖЕН БЫТЬ присвоен идентификатор: Message-ID", а при тщательном разборе со словарём оказалось что "каждому письму СЛЕДУЕТ присвоить идентификатор: Message-ID".
В английском не очень силён, потому прошу помощи (на английскую спецификацию просьба не отсылать... пришёл оттуда).
...
Рейтинг: 0 / 0
(smtp notify) Какие есть гарантии?
    #39244412
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПрограмёрВ английском не очень силён, потому прошу помощи (на английскую спецификацию просьба не отсылать... пришёл оттуда).Какую именно? Ссылку давай, а то что-то я никаких "notify=success" в SMTP не помню.

Но по логике вопроса, подозреваю что ответ на: "могу ли я по правилам протокола быть уверен, что сервер мне сообщит об удачной доставке?" будет "да". Если подобная фича включена в протокол, то отправляющий сервер будет долбить получателя пока тот не ответит об успешной доставке.
...
Рейтинг: 0 / 0
(smtp notify) Какие есть гарантии?
    #39244413
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlПрограмёрВ английском не очень силён, потому прошу помощи (на английскую спецификацию просьба не отсылать... пришёл оттуда).Какую именно? Ссылку давай, а то что-то я никаких "notify=success" в SMTP не помню.

Но по логике вопроса, подозреваю что ответ на: "могу ли я по правилам протокола быть уверен, что сервер мне сообщит об удачной доставке?" будет "да". Если подобная фича включена в протокол, то отправляющий сервер будет долбить получателя пока тот не ответит об успешной доставке.

https://tools.ietf.org/html/rfc3461#section-4.1

вот отсюда пришёл :)
...
Рейтинг: 0 / 0
(smtp notify) Какие есть гарантии?
    #39244422
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну правильно, это ESMPT - Extended SMTP.

И нет, я дал неправильный ответ... Увы...
В данном случае, notify=success означает только то, что отправитель желает получит уведомление если письмо доставлено.


ПрограмёрВот теперь самое интересное, является ли реализация оповещение о доставке обязательным по спецификации smtp.Нет, не является. В SMTP этого вообще не требуется. Читай внимательнее третью главу данного RFC. Там как раз говорится о взаимодействии стандартного SMTP сервера с сервером который поддерживает это DSN расширение.

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

Но если уж ты получил успешный DSN - значит письмо точно легло в ящик получателя.
...
Рейтинг: 0 / 0
(smtp notify) Какие есть гарантии?
    #39244431
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl,

понял. Жаль. Как говорил, плохо владею английским. Но постараюсь вникнуть в ссылки :)

Последний вопрос: правильно ли я понял, что всё выше написанное касается также и FAILURE? Но на failure не влияют MTA в цепочке (так как "урезание" этого заголовка по-умолчанию будет восприняток как FAILURE или FAILURE,DELAY)

То есть возможна ситуация, что даже при ошибке сервер не отправит уведомление? Значит, реализуя рассылку нельзя рассчитывать на DSN вообще (ведь на получателе оно может не поддерживаться)?
...
Рейтинг: 0 / 0
(smtp notify) Какие есть гарантии?
    #39244441
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 по протоколу обязательно? Даже без поддержек разных там расширений?
...
Рейтинг: 0 / 0
(smtp notify) Какие есть гарантии?
    #39244444
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да. В стандартном SMTP прописано что надо информировать отправителя если не смогли доставить. Поэтому получается что notify=failure,delay это и есть стандарт.
...
Рейтинг: 0 / 0
(smtp notify) Какие есть гарантии?
    #39244445
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПрограмёрТо есть возможна ситуация, что даже при ошибке сервер не отправит уведомление? Значит, реализуя рассылку нельзя рассчитывать на DSN вообще (ведь на получателе оно может не поддерживаться)?Ну я бы не был настолько пессимистичным. RFC то написан в 2003-ем году. Это значит что к тому времени уже как минимум пара популярных почтовых серверов это поддерживала... С тех пор прошло тринадцать лет :)
...
Рейтинг: 0 / 0
(smtp notify) Какие есть гарантии?
    #39244527
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owlотправляющий сервер будет долбить получателя пока тот не ответит об успешной доставке.Это не так. Есть тайм-аут передачи (по умолчанию вроде 5 суток), по прошествии которого сервер в любом случае посчитает, что облом, отстанет от сервера адресата и сообщит о недоставке уведомления. У некоторых серверов есть отдельный тайм-аут на получение уведомления о доставке, достаточно, кстати, короткий.
...
Рейтинг: 0 / 0
(smtp notify) Какие есть гарантии?
    #39245327
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПрограмёрВот теперь самое интересное, является ли реализация оповещение о доставке обязательным по спецификации smtpНет, как и любое другое расширение.
Даже если расширение реализовано, всё, что "SHOULD" (== должен, но не обязан) может быть проигнорировано при достаточных основания.
Ещё более того: запросы уведомления о доставке, обычно, игнорируются серверами, т.к. имитацией этого механизма "пользуются спамеры".
С моей кочки зрения это лечение перхоти гильотиной, но - "добро пожаловать в реальный мир, Фёдор Сумкин".
...
Рейтинг: 0 / 0
(smtp notify) Какие есть гарантии?
    #39245342
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чего-то я заинтересовался вопросом :)

Вот, нарыл по сендмейлу:
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 будет полностью игнорирован.
...
Рейтинг: 0 / 0
(smtp notify) Какие есть гарантии?
    #39245565
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну что ж ) Теперь всё стало понятно. Спасибо всем за ответы
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / (smtp notify) Какие есть гарантии?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]