Какова разница в поведении между return-path, reply-to и from?
в нашем почтовом приложении мы отправляем электронные письма со следующим заголовком:
FROM: marketing@customer.com
TO: subscriber1@domain1.com
Return-PATH: bouncemgmt@ourcompany.com
проблема, с которой мы сталкиваемся, заключается в том, что некоторые почтовые серверы будут немедленно возвращать сообщение и использовать путь from или reverse (marketing@customer.com) вместо нашего сервера отказов mgmt. Мы хотим знать, если мы изменим в заголовке ответа будет таким же, как обратный путь, если мы сможем поймать все отскакивает.
любые другие идеи добро пожаловать?
мы используем следующие документы в качестве ссылок: VERP RFC Bounce-Сообщений
SMTP журнал разбора, чтобы получить отскоки
EDIT 1: еще несколько бит информации, чтобы узнать, можем ли мы получить это решение.
мы хотим знать, в какой момент сервер электронной почты, ретранслирующий сообщение, решит использовать ответ-на по сравнению с обратным путем. Заметим, что при первом smtp сервер, ретранслирующий сообщение, отклоняется, он отправляет его в ответ, но когда это происходит после одного прыжка, он отправляет его в обратный путь.
4 ответов
давайте начнем с простого примера. Предположим, у вас есть список электронной почты, который собирается отправить следующий контент RFC2822.
From: <coolstuff@mymailinglist.com> To: <you@yourcompany.com> Subject: Super simple email Reply-To: <coolstuff-threadId=123@mymailinglist.com> This is a very simple body.
Теперь предположим, что вы собираетесь отправить его из списка рассылки, который реализует VERP (или какой-либо другой механизм отслеживания отказов, который использует другой путь возврата). Допустим, у него будет обратный путь coolstuff-you=yourcompany.com@mymailinglist.com - ... Сеанс SMTP может выглядеть например:
{S}220 workstation1 Microsoft ESMTP MAIL Service {C}HELO workstation1 {S}250 workstation1 Hello [127.0.0.1] {C}MAIL FROM:<coolstuff-you=yourcompany.com@mymailinglist.com> {S}250 2.1.0 me@mycompany.com....Sender OK {C}RCPT TO:<you@yourcompany.com> {S}250 2.1.5 you@yourcompany.com {C}DATA {S}354 Start mail input; end with <CRLF>.<CRLF> {C}From: <coolstuff@mymailinglist.com> To: <you@yourcompany.com> Subject: Super simple email Reply-To: <coolstuff-threadId=123@mymailinglist.com> This is a very simple body. . {S}250 Queued mail for delivery {C}QUIT {S}221 Service closing transmission channel
где {C} и {S} представляют команды клиента и сервера соответственно.
почта получателя будет выглядеть так:
Return-Path: coolstuff-you=yourcompany.com@mymailinglist.com From: <coolstuff@mymailinglist.com> To: <you@yourcompany.com> Subject: Super simple email Reply-To: <coolstuff-threadId=123@mymailinglist.com> This is a very simple body.
Теперь, давайте опишем различные "от" s.
-
обратный путь (иногда называемый обратным путем или конвертом из -- ВСЕ эти термины могут использоваться взаимозаменяемо) - это значение, используемое во время сеанса SMTP. Как видите, в этом нет необходимости быть тем же значением, которое фактически найдено в заголовках почты. Только почтовый сервер получателя должен добавить заголовок пути возврата в верхнюю часть письма. Это записывает фактического отправителя пути возврата во время сеанса SMTP. Если заголовок Return-Path уже существует в письме, то этот заголовок должен быть удален и заменен почтовым сервером получателя.
все отскоки, которые происходят во время сеанса SMTP, должны вернуться к значению пути возврата. Некоторые серверы могут принять вся электронная почта, а затем очередь его локально, пока он имеет свободный поток для доставки его в почтовый ящик получателя. Если получатель не существует, он должен вернуть его обратно к записанному значению пути возврата.
обратите внимание, что не все почтовые серверы подчиняются этому правилу. Некоторые почтовые серверы будут ответить на адрес.
адрес FROM-это значение, фактически найденное в заголовке FROM. Предполагается, что сообщение от него. Это то, что вы видите "ОТ" в большинстве почтовых клиентов. Если письмо не имеет заголовка ответа, то все ответы человека (почтового клиента) должны вернуться на адрес FROM.
-
заголовок ответа добавляется отправителем (или программным обеспечением отправителя). Именно здесь должны быть рассмотрены все человеческие ответы. В принципе, когда пользователь нажимает "ответить", значение ответа должно быть значением, используемым в качестве recpient вновь составленного письма. Значение Reply-To не должно использоваться ни одним сервером. Это предназначен для использования на стороне клиента.
однако, как вы можете сказать, не все почтовые серверы подчиняются стандартам или рекомендациям RFC.
надеюсь, это поможет прояснить ситуацию. Однако, если я что-то пропустил, дайте мне знать, и я постараюсь ответить.
другой способ думать о Return-Path
vs Reply-To
- это сравнить его с snail mail.
когда вы отправляете конверт по почте, необходимо указать обратный адрес. Если получатель не существует или отказывается от вашей почты, почтмейстер возвращает конверт с обратным адресом. Для электронной почты обратный адрес - это Return-Path
.
внутри конверта может быть письмо, и внутри письма он может направить получателя "отправить переписка с пример адреса". Для электронной почты пример адреса - это Reply-To
.
по сути, почтовый обратный адрес сопоставим с SMTP Return-Path
заголовок и SMTP Reply-To
заголовок аналогичен ответным инструкциям, содержащимся в письме.
для тех, кто попал сюда, потому что заголовок вопроса:
Я использую Reply-To:
адрес с webforms. когда кто-то заполняет форму, веб-страница автоматически отправляет электронное письмо владельцу страницы. the From:
- Это адрес автоматического отправителя почты, поэтому владелец знает, что он из веб-формы. но ... --0--> адреса заполняются в форме пользователем, поэтому владелец может просто нажмите ответить, чтобы связаться с ними.
Мне пришлось добавить заголовок обратного пути в электронные письма, отправленные экземпляром Redmine. Я согласен с greatwolf только отправитель может определить правильный (не по умолчанию) обратный путь. Дело в следующем : Электронная почта отправляется с адресом электронной почты по умолчанию : admin@yourcompany.com Но мы хотим, чтобы реальный пользователь, инициирующий действие, получал электронные письма отскока, потому что он будет знать, как исправить неправильные электронные письма получателей (а не администраторы приложений, у которых есть другие кошки, чтобы хлестать :-) ). Мы используем это, и он отлично работает с exim на сервере приложений и zimbra в качестве конечного почтового сервера компании.