1. ホーム
  2. email

[解決済み] return-path、reply-to、fromの動作の違いは何ですか?

2022-04-23 07:33:52

質問

メーリングアプリケーションで、次のようなヘッダを持つメールを送信しています。

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

私たちが直面している問題は、一部のメールサーバーがメッセージをすぐにバウンスバックし、バウンス管理サーバーの代わりにfromまたはリバースパス([email protected])を使用することです。 ヘッダーのreply-toをreturn-pathと同じにすることで、すべてのバウンスを捕捉できるかどうかを知りたいのです。

他のアイデアもお待ちしています。

以下のドキュメントを参考にさせていただいています。 VERP RFC バウンスメッセージ

バウンス取得のためのSMTPログパース

EDIT 1: この問題を解決できるかどうかを確認するために、さらにいくつかの情報を提供します。

メッセージを中継するメールサーバーが、どの時点でreply-toとreturn-pathのどちらを選択するかを知りたいのです。 メッセージを中継する最初のSMTPサーバーが拒否されるとreply-toに送られ、1ホップ後に拒否されるとreturn-pathに送られることが分かっています。

解決方法は?

まず、簡単な例から見てみましょう。例えば、次のようなメールリストを作成し、それを送信するとします。 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}はそれぞれClientとServerのコマンドを表しています。

受信者のメールは、次のようになります。

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

This is a very simple body.

では、それぞれの"FROM"を記述してみましょう。

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

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

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

  1. FROMアドレスは、FROMヘッダーにある値です。これは、メッセージが誰からのものであるかを示しています。これは、ほとんどのメールクライアントで"FROM"として表示されるものです。 もしメールにReply-Toヘッダーがなければ、人間(メールクライアント)の返信はすべてFROMアドレスに戻されるはずです。

  2. Reply-Toヘッダーは、送信者(または送信者のソフトウェア)によって追加されます。人間による返信もすべてここに宛てられるべきです。 基本的に、ユーザーが"reply"をクリックすると、Reply-Toの値は、新しく作成されたメールの受信者として使用される値であるべきです。Reply-Toの値は、どのサーバーでも使用されるべきではありません。これは、クライアント側(MUA)でのみ使用されます。

しかし、お分かりのように、すべてのメールサーバーがRFCの標準や勧告に従うわけではありません。

これで、物事がはっきりするといいのですが。 しかし、もし私が何か見逃していることがあれば、教えてください。