Какова разница в поведении между return-path, reply-to и from?



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



FROM: [email protected]
TO: [email protected]
Return-PATH: [email protected]


проблема, с которой мы сталкиваемся, заключается в том, что некоторые почтовые серверы немедленно вернут сообщение и используют путь from или reverse ([email protected]) вместо этого на наш сервер отказов mgmt. Мы хотим знать, изменяем ли мы в заголовке ответ, чтобы быть таким же, как обратный путь, если мы сможем поймать все отскоки.



любые другие идеи добро пожаловать?



мы используем следующие документы в качестве ссылок:
VERP
RFC
Bounce-Сообщений



анализ журнала SMTP для получения отскоков



EDIT 1: еще несколько бит информации, чтобы увидеть, если мы можем получить это решение.



мы хотим знать, в какой момент почтовый сервер, ретранслирующий сообщение, выберет использовать Ответ-К по сравнению с обратным путем. Мы заметили, что когда первый smtp сервер, ретранслирующий сообщение, отклоняется, он отправляет его в ответ, но когда это происходит после одного прыжка, он отправляет его в обратный путь.

1342   4  

4 ответов:

давайте начнем с простого примера. Допустим, у вас есть список адресов электронной почты, который будет отправлять следующее содержимое RFC2822.

From: <[email protected]>
To: <[email protected]>
Subject: Super simple email
Reply-To: <[email protected]>

This is a very simple body.

Теперь предположим, что вы собираетесь отправить его из списка рассылки, который реализует VERP (или какой-либо другой механизм отслеживания отказов, который использует другой обратный путь). Допустим, он будет иметь обратный путь [email protected]. сеанс SMTP может выглядеть следующим образом например:

{S}220 workstation1 Microsoft ESMTP MAIL Service
{C}HELO workstation1
{S}250 workstation1 Hello [127.0.0.1]
{C}MAIL FROM:<[email protected]>
{S}250 2.1.0 [email protected] OK
{C}RCPT TO:<[email protected]>
{S}250 2.1.5 [email protected] 
{C}DATA
{S}354 Start mail input; end with <CRLF>.<CRLF>
{C}From: <[email protected]>
To: <[email protected]>
Subject: Super simple email
Reply-To: <[email protected]>

This is a very simple body.
.

{S}250 Queued mail for delivery
{C}QUIT
{S}221 Service closing transmission channel

где {C} и {S} представляют команды клиента и сервера соответственно.

почта получателя будет выглядеть так:

Return-Path: [email protected]
From: <[email protected]>
To: <[email protected]>
Subject: Super simple email
Reply-To: <[email protected]>

This is a very simple body.

Теперь давайте опишем разные "от" s.

  1. обратный путь (иногда называемый обратным путем или конвертом-от-все эти термины могут использоваться взаимозаменяемо) - это значение, используемое во время сеанса SMTP. Как видите, в этом нет необходимости чтобы быть тем же значением, которое фактически находится в заголовках почты. Только почтовый сервер получателя должен добавить заголовок Return-Path в верхнюю часть сообщения электронной почты. Этой записи фактический обратный адрес отправителя в SMTP-сеансе. Если заголовок пути возврата уже существует в сообщении электронной почты, то этот заголовок должен быть удален и заменен почтовым сервером получателя.

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

    обратите внимание, что не все почтовые серверы подчиняются этому правилу. Некоторые почтовые серверы будут ответить на адрес.

  2. адрес FROM-это значение, фактически найденное в заголовке FROM. Это должно быть от кого сообщение. Это то, что вы видите "ОТ" в большинстве почтовых клиентов. Если сообщение электронной почты не имеет заголовка ответа, то все ответы человека (почтового клиента) должны вернуться на адрес FROM.

  3. заголовок ответа добавляется отправителем (или программным обеспечением отправителя). Именно здесь должны быть рассмотрены все человеческие ответы. В принципе, когда пользователь нажимает "ответить", значение ответа должно быть значением, используемым в качестве реципиента вновь составленного письма. Значение ответа не должно использоваться ни одним сервером. Это предназначен для использования на стороне клиента.

    однако, как вы можете сказать, не все почтовые серверы подчиняются стандартам или рекомендациям RFC.

надеюсь, это поможет прояснить ситуацию. Однако, если я что-то пропустил, дайте мне знать, и я постараюсь ответить.

другой способ думать о Return-Path vs Reply-To - это сравнить его с обычной почтой.

когда вы отправляете конверт по почте, необходимо указать обратный адрес. Если получатель не существует или отказывается от вашей почты, почтмейстер возвращает конверт с обратным адресом. Для электронной почты обратный адрес - это Return-Path.

внутри конверта может быть письмо и внутри письма он может направить получателю "отправить переписка с пример адреса". Для электронной почты пример адреса - это Reply-To.

по сути, почтовый обратный адрес сопоставим с SMTP Return-Path заголовок и SMTP Reply-To заголовок похож на ответные инструкции, содержащиеся в письме.

для тех, кто попал сюда, потому что заголовок вопроса:

Я использую Reply-To: адрес с webforms. когда кто-то заполняет форму, веб-страница автоматически отправляет электронное письмо владельцу страницы. элемент From: - Это адрес автоматического отправителя почты, поэтому владелец знает, что он находится в веб-форме. но это Reply-To: адреса заполняются в форме пользователем, поэтому владелец может просто нажмите ответить, чтобы связаться с ними.

Мне пришлось добавить заголовок Return-Path в сообщениях электронной почты, отправленных экземпляром Redmine. Я согласен с greatwolf только отправитель может определить правильный (не по умолчанию) путь возврата. Дело обстоит следующим образом : Электронные письма отправляются с адресом электронной почты по умолчанию : [email protected] Но мы хотим, чтобы реальный пользователь, инициирующий действие, получал электронные письма отскока, потому что он будет знать, как исправить неправильные электронные письма получателей (а не администраторов приложений, у которых есть другие кошки, чтобы хлестать :-) ). Мы используем это, и он отлично работает с exim на сервере приложений и zimbra в качестве конечного почтового сервера компании.

Comments

    Ничего не найдено.