2010-03-09 145 views
5

我從我的smtp服務器發送電子郵件,例如,設置From[email protected]。收件人會認爲該電子郵件來自anydomain。如何確認電子郵件來源?如何確認電子郵件來源

+0

你試圖解決什麼問題?一般來說,你並不需要確認來源。如果他們可以閱讀到該地址的電子郵件,他們就擁有它。這就是你需要做的所有確認(確認他們可以閱讀)。 – 2010-03-12 10:09:58

+0

一些電子郵件我收到通過發展和一些我從生產收到儘管發展從同樣的生產。電子郵件來自哪個來源很難。 – developer 2010-03-12 16:20:50

+0

所以通過「源」你的意思是「哪個部署發送電子郵件」?在這種情況下,電子郵件的內容或標題應該具有某些在部署和生產之間不同的特徵。 SMTP服務器不同嗎?您可以添加自己的內容(例如,X-Is-Development:True),或者只是在正文中添加一些文本? – p00ya 2010-03-14 13:35:52

回答

4

有幾種方法來使用電子郵件僞造處理:

  • 使用PGPSSL signed certificates
  • 使用SPF
  • 檢查Received頭(雖然這是不可靠的)
  • 回覆給發件人並詢問他們是否真的發送了它。如果您知道發件人,可以親自或通過電話詢問他們。

要實現的重點是From:地址不是關於消息發起者的任何形式的保證。

編輯:好吧我現在明白,你只是想以某種方式標記郵件消息,以便你可以識別哪個服務器生成它(以不安全的方式)。以下是如何使用.NET的MailMessage:

System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage(); 
msg.Headers.Add("X-Is-Development", "true"); 
+0

smtp服務器的標題是不同的。你可以給任何例子如何設置標題在C# – developer 2010-03-16 10:40:29

+0

收到標題證明什麼都沒有?需要SSL/PGP或其他預先安排的令牌 – TFD 2010-03-16 19:35:05