2011-02-02 28 views
2

おやすみ!
ご迷惑をかけて申し訳ございませんが、ご質問ください。私の "プログラム"では、私は(例えば)gmail SMTPサーバーを通していくつかの電子メールを送信しています。送信したすべてのメールに、ヘッダーに固有のID(私によって生成された)が含まれているとしましょう。 (例えば、python imaplibを使って)Gmailからそのメッセージを取得した後に、その固有のID(ヘッダー)を再度取得する可能性はありますか?
ありがとう保証ID付きSMTP経由でメッセージを送信

答えて

2

一般に、MTAはあなたが導入するメッセージヘッダーをすべて保持します。 MTAがrequired to do soあるリレー:

6.4節で説明したように、「リレーSMTPには検査する必要性やメッセージデータのヘッダ部やボディに応じ 行為を持っていないし、独自のを追加することを除いて はそうはならない(MUST NOT) Received: "ヘッダーフィールド(セクション4.4) と、オプションで、メールシステムのループを検出しようとします( セクション6.3を参照)。もちろん、この禁止は、これらのヘッダーフィールドやテキストの変更にも適用されます(7.9節も参照してください)。

一般に、受信側MTAは、メッセージ受信、スパムチェック、ループ検出などに関連するヘッダーを追加するだけです。そう、はい、あなたはほぼ確実にどの宛先SMTPサーバー、Gmail、またはそれ以外の場合でも安全になるでしょう。

IDが本当にユニークな場合は、your Message-ID header valueの一部として使用することを検討してください。この目的のためにMessage-IDを使用する利点は、ユーザーがメッセージに返信するとき、彼らは通常、彼らのIn-Reply-Toおよび/またはReferencesヘッダにそのMessage-ID値が含まれることです。

「メッセージID:」フィールドが一意を提供 は、特定のメッセージの特定のバージョンを参照するメッセージ識別子です。 のメッセージ識別子の一意性は、 が生成するホストによって保証されます(下記参照)。このメッセージ識別子は、 マシンで読み取り可能であり、人間にとって必ずしも意味がないものではありません。メッセージ は、特定のメッセージの正確に1つのバージョンに関係します。 その後のメッセージのリビジョンにはそれぞれ新しいメッセージ の識別子が付けられます。

メッセージへの返信を 作成するときは、 "In-Reply-To:"および "References:"フィールドが使用されます。これらは、元のメッセージのメッセージ識別子である と、他のメッセージのメッセージ識別子を保持します(たとえば、それ自身の返信であったメッセージへの返信の場合は )。 "In-Reply-To:"フィールドは、新しいメッセージが返信されるメッセージ(または メッセージ)を識別するために使用され、 "参照:"フィールドは、 会話。

2

私はちょっと試しましたが、実際にはかなり簡単です。

Mail.php拡張機能を使用してこれを実現しました(問題はありません)。私はメッセージを送信する前に余分なヘッダーを追加しました( "Trevor" => "My Test")。 Gmailでメッセージを受け取り、「オリジナルを表示」し、ヘッダーが含まれています。

このメッセージを(PHP経由でも)プルダウンし、ヘッダーに入力したカスタム行が含まれています。

関連する問題