2010-03-09 139 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