自从我们从.NET Framework 1.1切换到3.5框架以来,我一直在使用System.Net命名空间,但有一件事情一直困扰着我。 MailMessage类中的Sender和From属性有什么区别?
它们是否相同,如果没有,有没有理由使用发送方与From?
例如:
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
摘自维基的电子邮件:
发件人:电子邮件地址,以及作者的姓名。在许多电子邮件客户端不可更改,除非通过更改帐户设置。
另请注意,“发件人:”字段不必是电子邮件的真实发件人。一个原因是,很容易伪造“From:”字段,并让一条消息似乎来自任何邮件地址。有可能对电子邮件进行数字签名,这是很难伪造的,但这种签名需要额外的编程,通常需要外部程序来验证。一些ISP不中继声称来自他们不托管的域的电子邮件,但很少(如果有的话)检查以确保该人或甚至在“From:”字段中命名的电子邮件地址是一个与连接相关联。一些ISP将电子邮件认证系统应用于通过其MTA发送的电子邮件,以允许其他MTA检测可能来自他们的伪造垃圾邮件。
发件人:代表作者在From:字段(秘书,列表管理器等)中列出的实际发件人的地址。