2009-09-01 40 views
0

我需要從System.Net.Mail.MailMessage中刪除SMTP頭。具體來說,包含有關環境MailMessage的信息的標頭源自於。如何以編程方式從System.Net.Mail.MailMessage中刪除SMTP標頭?

我已經試過檢查MailMessage之前,它是由SmtpClient發送,但沒有設置標題(它們設置在稍後階段)。

這可以在.NET Framework 3.5中完成,還是需要第三方SMTP庫?

編輯: 這是託管我正在工作的網站的託管公司所要求的。他們說這是保護內部網絡佈局信息所必需的。

這通常被認爲是不好的做法?什麼是潛在的副作用?

+1

看起來像一個奇怪的,有點可疑的目標。你能否提供更多關於你爲什麼要這樣做的信息,並且可能有人願意提供幫助。 – Lazarus 2009-09-01 12:28:53

回答

1

您可以指定PickupDirectoryLocation屬性(請參閱http://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient.pickupdirectorylocation.aspx)而不是使用SMTP服務器IP嗎?然後循環生成的電子郵件,刪除標題項目,然後複製到SMTP傳入目錄?如果您可以將文件複製到他們的SMTP服務器傳入目錄中,以查看他們是否可能支持此方法,則需要詢問您的虛擬主機。

我可以有點了解他們的擔憂,但我從未聽說過這種情況發生過。至少不是由開發人員。這似乎是他們的SMTP主機應該具備的能力。我可以假設他們想要隱藏他們的SMTP主機或郵件服務器軟件版本等的名稱。但我甚至不知道是否可以這樣做,因爲我總是認爲這些標頭是由SMTP主機添加的,而不是通過我們(作爲開發人員)編寫的任何代碼。

+0

感謝Jim W.我會進一步調查。 – 2009-09-02 07:58:27

0

我做了一些更多的測試,它看起來像是由SMTP服務器生成的,而不是由.NET Framework生成的。

+1

這就是我一直以來的想法。感謝您的確認。 – 2009-09-02 23:21:07

相關問題