2012-01-18 11 views
0

私はSystem.Net.Mailメールを使用しています。コードでは、私は次のように、電子メールのリターンパスを設定しています:return-path not-functionが送信されているメールを送信する

string sReturnPath = ConfigurationManager.AppSettings["ReturnPath"].ToString(); 
if (sReturnPath.Length > 0) { 
    msg.Headers.Add("Return-Path", sReturnPath); 
} 

配信は、私は、電子メールのリターンのヘッダを見ることができるにもかかわらず、それはパスを返すために行く必要がありますが、それはない失敗した場合-path指定した設定ファイルからのパスです。電子メールは送信者に返されます。

答えて

10

あなたはやや間違ったアプローチを使用しています。簡易メール転送プロトコル(RFC 2821)は言う:

メッセージの発信SMTPシステムは
がすでにリターンパスヘッダーが含まれているというメッセージを送るべきではありません。
中継機能を実行するSMTPサーバーは、返信パスヘッダーが存在するかどうかを判断するのに必要な範囲でメッセージデータ、特に
を検査してはならない(MUST NOT)。

あなたのメッセージがFrom:フィールドで指定したもの以外のアドレスに返却する場合は、そのアドレスは、SMTPメッセージではなく、メッセージヘッダよりも封筒を設定する必要があります。これは、Senderプロパティを設定することで実現できます。

MailMessage msg = new MailMessage(); 
msg.Sender = new MailAddress("[email protected]", "Sam1"); 
+1

はい、ありがとうございました! – Zaki

+0

私はちょうどあなたがそれを送信者を使用して送信する場合、何かに気づいたメールは、このための任意のソリューションの代わりに "と言ってくれるでしょう – Zaki

+0

正確に"代わって "と言うでしょうか?元のアドレスの –

関連する問題