2012-01-18 45 views
0

我正在使用System.Net.Mail電子郵件。在代碼中我設置電子郵件的返回路徑如下:發送電子郵件,返回路徑不起作用

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

如果交付失敗就應該到返回路徑,但它沒有,即使我能看到的電子郵件的返回標題-path來自我指定的配置文件。該電子郵件被退回給發件人。

有什麼想法?

回答

10

你正在使用一個稍微錯誤的方法。簡單郵件傳輸協議(RFC 2821)說:

消息,發起SMTP系統不應發出一條消息,
已經包含了返回路徑頭。執行
中繼功能的SMTP服務器不得檢查消息數據,尤其是不要檢查消息數據,特別是不要檢查確定返回路徑頭是否存在所需的範圍內的

如果你希望你的消息,返回到比From:字段中指定的另外一個地址,然後將地址應在SMTP郵件設置信封而不是消息英寸您可以通過設置Sender屬性來實現此目的:

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

是的,這是做的伎倆謝謝你! – Zaki 2012-01-18 16:36:09

+0

我剛剛注意到了一些東西,如果你使用發件人發送郵件,那麼電子郵件會說「代表」這個任何解決方案 – Zaki 2012-01-19 16:07:43

+0

它究竟在哪裏說「代表」? – 2012-01-19 16:27:57

相關問題