171

メーリングアプリケーションでは、次のヘッダーが付いたメールを送信しています。

FROM: marketing@customer.com
TO: subscriber1@domain1.com
Return-PATH: bouncemgmt@ourcompany.com

私たちが直面している問題は、一部の電子メールサーバーがメッセージをすぐにバウンスし、バウンス管理サーバーの代わりにfromまたはreverseパス(marketing@customer.com)を使用することです。すべてのバウンスをキャッチできる場合は、ヘッダーでreply-toをreturn-pathと同じになるように変更するかどうかを知りたいと思います。

他のアイデアは大歓迎ですか?

次のドキュメントを参照として使用しています 。VERPRFCバウンス メッセージ

バウンスを取得するためのSMTPログ解析

編集1:この解決策を得ることができるかどうかを確認するための情報をもう少し追加します。

メッセージを中継する電子メールサーバーが、返信先と返信先のどちらを使用するかを知りたいのです。メッセージを中継している最初のSMTPサーバーが拒否されると、メッセージはreply-toに送信されますが、1ホップ後に発生すると、return-pathに送信されます。

4

4 に答える 4

269

簡単な例から始めましょう。次の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.

それでは、さまざまな「FROM」について説明しましょう。

  1. リターンパス(リバースパス、エンベロープセンダー、またはエンベロープfromと呼ばれることもあります。これらの用語はすべて同じ意味で使用できます)は、MAIL FROMコマンドのSMTPセッションで使用される値です。ご覧のとおり、これはメッセージヘッダーにある値と同じである必要はありません。受信者のメールサーバーのみが、電子メールの先頭にReturn-Pathヘッダーを追加することになっています。これにより、SMTPセッション中の実際のリターンパス送信者が記録されます。Return-Pathヘッダーがメッセージにすでに存在する場合、そのヘッダーは削除され、受信者のメールサーバーに置き換えられます。

SMTPセッション中に発生するすべてのバウンスは、Return-Pathアドレスに戻る必要があります。一部のサーバーは、すべての電子メールを受け入れ、受信者のメールボックスに配信するための空きスレッドができるまで、ローカルでキューに入れる場合があります。受信者が存在しない場合は、記録されたReturn-Path値にバウンスする必要があります。

すべてのメールサーバーがこのルールに従うわけではないことに注意してください。一部のメールサーバーは、FROMアドレスにバウンスします。

  1. FROMアドレスは、FROMヘッダーにある値です。これは、メッセージの送信者であると想定されています。これは、ほとんどのメールクライアントで「FROM」と見なされるものです。電子メールにReply-Toヘッダーがない場合、すべての人間(メールクライアント)の応答はFROMアドレスに戻る必要があります。

  2. Reply-Toヘッダーは、送信者(または送信者のソフトウェア)によって追加されます。ここで、すべての人間の応答にも対処する必要があります。基本的に、ユーザーが「返信」をクリックした場合、返信先の値は、新しく作成された電子メールの受信者として使用される値である必要があります。Reply-To値は、どのサーバーでも使用しないでください。これは、クライアント側(MUA)での使用のみを目的としています。

ただし、おわかりのように、すべてのメールサーバーがRFC標準または推奨事項に準拠しているわけではありません。

うまくいけば、これは物事を片付けるのに役立つはずです。しかし、私が何かを逃した場合は、私に知らせてください、そして私は答えようとします。

于 2009-08-07T21:45:42.553 に答える
162

Return-Pathvsについて考える別の方法Reply-Toは、それをカタツムリのメールと比較することです。

封筒を郵送するときは、差出人住所を指定します。受信者が存在しないか、メールを拒否した場合、郵便局長は封筒を差出人住所に返送します。電子メールの場合、差出人アドレスReturn-Pathです。

封筒の中には手紙があるかもしれませんし、手紙の中には「手紙を例の住所に送る」ように受取人に指示するかもしれません。電子メールの場合、アドレスの例Reply-Toです。

Return-Path本質的に、郵便料金の差出人住所はSMTPのヘッダーに相当し、SMTPのReply-Toヘッダーは手紙に含まれる返信指示に似ています。

于 2011-02-12T10:46:55.053 に答える
6

質問のタイトルのためにここに来た人のために:

私はReply-To:ウェブフォームでアドレスを使用します。誰かがフォームに記入すると、Webページはページの所有者に自動電子メールを送信します。これFrom:は自動メール送信者のアドレスであるため、所有者はそれがWebフォームからのものであることを認識しています。ただし、Reply-To:アドレスはユーザーがフォームに入力したアドレスであるため、所有者は返信を押すだけで連絡できます。

于 2017-04-19T17:53:11.203 に答える
2

Redmineインスタンスから送信されるメールにReturn-Pathヘッダーを追加する必要がありました。私はgreatwolfに同意しますが、送信者だけが正しい(デフォルトではない)Return-Pathを決定できます。ケースは次のとおりです。電子メールはデフォルトの電子メールアドレスで送信されます:admin@yourcompany.comただし、アクションを開始する実際のユーザーは、間違った受信者の電子メールを修正する方法を知っているため、バウンス電子メールを受信する必要があります。 (そして、鞭を打つ他の猫を持っているアプリケーション管理者ではありません:-))。これを使用すると、アプリケーションサーバー上のeximと、最終的な会社のメールサーバーとしてのzimbraで完全に機能します。

于 2013-07-23T15:49:42.533 に答える