MailMessage, różnica między właściwościami Sender i From

87

Używam System.Netprzestrzeni nazw od czasu, gdy przestawiliśmy się z .NET Framework 1.1 na 3.5, ale jest jedna rzecz, która mnie zastanawia. Jaka jest różnica między właściwościami Senderi Fromwłaściwościami w MailMessageklasie?

Czy są takie same, a jeśli nie, to czy istnieje powód, aby używać Senderrazem From?

Na przykład:

Using m As New System.Net.Mail.MailMessage()
    m.Sender = New System.Net.Mail.MailAddress("[email protected]", "Name here")
    m.From = New System.Net.Mail.MailAddress("[email protected]", "Name here")

    m.Subject = "Test"
    m.Body = "Test"

    Dim client As New System.Net.Mail.SmtpClient("mymailserver.com")
    client.Send(m)
End Using
Freek Buurman
źródło
7
W przypadku implementacji System.Net.Mail nie ma różnicy. Dzwoniąc do SmtpTransport.SendMail robi to message.Sender != null ? message.Sender : message.From. W rezultacie SmtpClient nie pozwala na wysyłanie odrębnych wartości dla Sender i From
Sam

Odpowiedzi:

70

Wyciąg z wiki na e-mail:

Pola nagłówka: Nagłówek wiadomości powinien zawierać co najmniej następujące pola:

Od: adres e-mail i opcjonalnie imię i nazwisko autora (ów). W wielu klientach poczty e-mail nie można zmienić, z wyjątkiem zmiany ustawień konta.

Zwróć również uwagę, że pole „Od:” nie musi być rzeczywistym nadawcą wiadomości e-mail. Jednym z powodów jest to, że bardzo łatwo jest sfałszować pole „Od:” i pozwolić, aby wiadomość wyglądała na pochodzącą z dowolnego adresu e-mail. Możliwe jest cyfrowe podpisywanie wiadomości e-mail, co jest znacznie trudniejsze do podrobienia, ale takie podpisy wymagają dodatkowego programowania i często zewnętrznych programów do weryfikacji. Niektórzy usługodawcy internetowi nie przekazują wiadomości e-mail, które twierdzą, że pochodzą z domeny, która nie jest przez nich hostowana, ale bardzo niewielu (jeśli w ogóle) sprawdza, czy osoba lub nawet adres e-mail podany w polu „Od:” to ta związane z połączeniem. Niektórzy dostawcy usług internetowych stosują systemy uwierzytelniania poczty e-mail do wiadomości e-mail wysyłanych za pośrednictwem ich MTA, aby umożliwić innym MTA wykrywanie sfałszowanego spamu, który może wydawać się pochodzący od nich.

Nadawca: Adres faktycznego nadawcy działającego w imieniu autora wymienionego w polu Od: (sekretarz, kierownik listy itp.).

Szczegóły na http://en.wikipedia.org/wiki/Email

Na przykład Gmail używa pól od / nadawcy do wysyłania wiadomości e-mail z innych adresów e-mail niż Twoje konto Gmail (po weryfikacji).

ntziolis
źródło
28

Wydaje mi się, że to wyjaśnienie jest dość łatwe do zrozumienia (moje podkreślenie).

Jednym z obszarów, w którym istnieje wiele różnych operacji, jest koncepcja adresu nadawcy wiadomości e-mail i nadawcy wiadomości e-mail.

Niektóre serwery e-mail akceptują adres nadawcy jako nadawcę, a niektóre automatycznie określają nadawcę, a niektóre wymagają wyraźnego określenia nadawcy.

Ogólnie rzecz biorąc, nadawca jest faktycznym autorem wiadomości e-mail. Natomiast adres nadawcy to po prostu wiersz nagłówka wiadomości e-mail, który może, ale nie musi, oznaczać cokolwiek. Często adres nadawcy można całkowicie pominąć. Spamerzy mogą łatwo sfałszować adres nadawcy. Dostawcy usług internetowych starają się zapewnić, aby spamerzy nie mogli sfałszować nadawcy.

Jeremy Wiggins
źródło