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

Fre*_*man 80 .net vb.net email system.net.mail

System.Net自从我们从.NET Framework 1.1切换到3.5框架以来,我一直在使用命名空间,但是有一件事让我感到困惑.班级中SenderFrom属性和属性有什么区别MailMessage

它们是否相同,如果没有,是否有理由Sender与之一起使用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
Run Code Online (Sandbox Code Playgroud)

ntz*_*lis 67

摘自电子邮件中的wiki:

标题字段:邮件标题应至少包含以下字段:

发件人:电子邮件地址,以及可选的作者姓名.在许多电子邮件客户端中,除非通过更改帐户设置,否则无法更改.

另请注意,"发件人:"字段不必是电子邮件的真实发件人.一个原因是很容易伪造"发件人:"字段并让邮件看起来来自任何邮件地址.可以对电子邮件进行数字签名,这很难伪造,但是这种签名需要额外的编程,并且通常需要外部程序来验证.有些ISP不会转发声称来自非托管域名的电子邮件,但很少(如果有的话)检查以确保"发件人:"字段中指定的人员甚至电子邮件地址是一个与连接相关联.一些ISP将电子邮件身份验证系统应用于通过其MTA发送的电子邮件,以允许其他MTA检测可能看起来来自他们的伪造垃圾邮件.

发件人:代表作者在From:字段(秘书,列表管理员等)中列出的实际发件人的地址.

有关http://en.wikipedia.org/wiki/Email的详细信息

例如,gmail使用from/sender字段从不同的电子邮件地址发送电子邮件,而不是gmail帐户(验证后).


Jer*_*ins 25

我发现这个解释很容易理解(强调我的).

在电子邮件的发件人地址和电子邮件的发件人的概念中,存在各种操作的一个领域.

某些电子邮件服务器将接收发件人地址作为发件人,有些会自动推断发件人,有些则要求明确指定发件人.

通常,发件人是电子邮件的实际发起者.相比之下,发件人地址只是电子邮件中的标题行,可能会也可能不会被视为任何内容.发件人地址通常可以完全省略.垃圾邮件发送者可以轻松欺骗发件人地址.ISP试图确保垃圾邮件发送者无法欺骗发件人.