2012-06-06 59 views
1

我們正在.Net中創建應用程序,目前正處於最後階段,需要通過SMTP注入電子郵件,同時設置各種選項在'電子郵件標題'中。在.Net應用程序中設置電子郵件標題(回覆路徑,發件人,郵件標識)

,我們都集中在三個值:

  • 返回路徑
  • 發件人
  • 消息ID
  • 目前在我們的代碼,我們有這樣的:

    BodyMessage.Sender = new MailAddress(bounce_address); 
    

    (其中'bounce_address'是我們想要反彈的地址。)

    此代碼似乎設置了返回路徑發件人

    但是,我們希望這些值爲不同

    是否有我們可以使用的值,以便當我們發送消息時,我們可以指定返回路徑是一件事而發件人是另一件事?

    我們嘗試了這一點,但它不工作:

    BodyMessage.Headers.Add("Sender", "[email protected]"); 
    

    該代碼只是被完全忽略。

    任何想法?

    對於消息的ID,我們已經試過這樣:

    BodyMessage.Headers.Add("Message-ID", "[email protected]"); 
    

    但是,這也被忽略了。

    但是,如果我們指定一個自定義頭值,如「X-消息ID」,那麼此代碼的工作:

    BodyMessage.Headers.Add("X-Message-ID", "[email protected]"); 
    

    但是,這不是我們想要的,因爲我們不希望添加一個額外的電子郵件標題項目,而是提供主要的message-id標題元素。

    任何幫助,非常感謝。

    在此先感謝!

    +0

    您是否有解決方案?我正在尋找一種方法將「返回路徑」設置爲不同的地址。 – dotnetster

    回答

    1

    當我遇到類似的問題時(在引入ReplyTo集合之前,它曾經是一個單一的項目),我最終使用第三方SMTP庫並完全停止使用.NET庫。我發現基本上,沒有辦法來覆蓋默認行爲 - 他們明確禁止您自己設置這些標頭。 (由於某種原因,我沒有完全理解)

    DnSmtp

    由於該庫的作者也承認,它在這裏的邊緣粗糙,在那裏,我不得不使用它之前擦亮它自己。但最終我獲得了成功。

    PS。您可以使用任何.NET電子郵件庫,不一定是DnSmtp。或者你可以編寫自己的SMTP客戶端(有點乏味,但可能)。

    +0

    謝謝TA的超級快速回復。非常感激你的幫助。而且,至少現在我們知道我們不會錯過默認.NET庫中的某些東西。 –

    +0

    DnSmtp庫似乎確實有點過時....有沒有其他的你會推薦(因爲你似乎很瞭解這個問題的景觀)?我不認爲我們想寫我們自己的圖書館。再次感謝! –

    +0

    不是真的,對不起。當它在2 - 3年前不得不使用它時,它已經過時了:)對這樣的庫很少有需求,因此在涉及SMTP客戶端時,「alt.net」領域缺乏創新(.NET一個適用於**最**的人)。在放棄之前檢查Codeplex和Google Code以及其他類似的網站。如果你找不到其他的東西,試試DnSmtp ......它可能對你沒有改變它的作用(我們必須發送一堆非英文字符,這是不被支持的,你的要求可能不同)。 –

    相關問題