MailMessage,Sender和From属性之间的区别

自从我从.NET Framework 1.1切换到3.5框架以来,我一直在使用System.Net命名空间,但是有一件事让我感到困惑。 SenderMailMessage类中的From属性之间有什么区别?

他们是否都是一样的,如果没有,是否有理由与Sender一起使用Sender

例如:

 Using m As New System.Net.Mail.MailMessage() m.Sender = New System.Net.Mail.MailAddress("test@test.com", "Name here") m.From = New System.Net.Mail.MailAddress("test@test.com", "Name here") m.Subject = "Test" m.Body = "Test" Dim client As New System.Net.Mail.SmtpClient("mymailserver.com") client.Send(m) End Using 

摘自维基电子邮件:

标题字段:消息标题至less应包含以下字段:

发件人:电子邮件地址,以及作者的姓名(可选)。 在许多电子邮件客户端不能更改,除非通过更改帐户设置。

还请注意,“From:”字段不必是电子邮件的真正发件人。 原因之一是假冒“发件人:”字段很容易,并且让消息看起来来自任何邮件地址。 这是可能的数字签名电子邮件,这是很难伪造,但这种签名需要额外的编程,并经常外部程序来validation。 有些互联网服务提供商不会中转电子邮件,声称来自不是由他们托pipe的域名,但很less(如果有的话)检查以确保在“发件人:”字段中指定的人或甚至电子邮件地址是与连接相关联。 一些ISP将电子邮件authentication系统应用于通过其MTA发送的电子邮件,以允许其他MTA检测可能来自他们的伪造垃圾邮件。

发件人:代表“发件人:”字段(秘书,列表pipe理员等)中列出的作者的实际发件人的地址。

有关http://en.wikipedia.org/wiki/Email的详情;

例如,gmail使用发件人/发件人字段发送来自不同电子邮件地址的电子邮件,而不是您的Gmail帐户(validation后)。

我发现这个解释很容易理解(重点是我的)。

其中有相当多种操作的一个领域是电子邮件的发件人地址和电子邮件的发件人的概念。

一些电子邮件服务器将接受发件人作为发件人,一些电子邮件服务器会自动推断发件人,有些则需要明确指定发件人。

通常,发件人是电子邮件的实际发件人。 而“发件人地址”则只是电子邮件中的标题行,可能并不代表任何意义。 发件人地址通常可以被完全排除。 垃圾邮件发送者很容易欺骗发件人地址。 ISP试图确保垃圾邮件发送者不能欺骗发件人。