MailMessage, perbedaan antara properti Sender dan From

88

Saya telah menggunakan System.Netnamespace sejak kami beralih dari .NET Framework 1.1 ke kerangka 3.5, tetapi ada satu hal yang membingungkan saya sejak itu. Apa perbedaan antara the Senderdan Fromproperti di MailMessagekelas?

Apakah keduanya sama, dan jika tidak, apakah ada alasan untuk digunakan Senderbersama From?

Sebagai contoh:

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
sumber
7
Dalam kasus implementasi System.Net.Mail tidak ada perbedaan. Saat memanggil ke SmtpTransport.SendMail, ia melakukan ini message.Sender != null ? message.Sender : message.From. Hasilnya adalah SmtpClient tidak mengizinkan Anda mengirim nilai yang berbeda untuk Pengirim dan Dari
Sam

Jawaban:

70

Kutipan dari wiki di email:

Bidang header: Header pesan harus mencakup setidaknya bidang berikut:

Dari: Alamat email, dan secara opsional nama penulis. Di banyak klien email tidak dapat diubah kecuali melalui perubahan pengaturan akun.

Perhatikan juga bahwa bidang "Dari:" tidak harus menjadi pengirim pesan email yang sebenarnya. Salah satu alasannya adalah sangat mudah untuk memalsukan bidang "Dari:" dan membiarkan pesan tampak seperti dari alamat email mana pun. Dimungkinkan untuk menandatangani e-mail secara digital, yang jauh lebih sulit untuk dipalsukan, tetapi tanda tangan seperti itu memerlukan pemrograman tambahan dan seringkali program eksternal untuk memverifikasi. Beberapa ISP tidak merelay e-mail yang mengaku berasal dari domain yang tidak dihosting oleh mereka, tetapi sangat sedikit (jika ada) yang memeriksa untuk memastikan bahwa orang atau bahkan alamat e-mail yang disebutkan di kolom "From:" adalah orangnya terkait dengan koneksi. Beberapa ISP menerapkan sistem otentikasi email ke email yang dikirim melalui MTA mereka untuk memungkinkan MTA lain mendeteksi spam palsu yang mungkin tampak berasal dari mereka.

Pengirim: Alamat pengirim sebenarnya yang bertindak atas nama penulis yang tercantum di bidang Dari: (sekretaris, manajer daftar, dll.).

Detail di http://en.wikipedia.org/wiki/Email

Misalnya gmail menggunakan bidang dari / pengirim untuk mengirim email dari alamat email yang berbeda dari akun gmail Anda (Setelah verifikasi).

ntziolis.dll
sumber
28

Saya menemukan penjelasan ini cukup mudah untuk dipahami (penekanan dari saya).

Satu area di mana terdapat cukup beragam operasi dalam konsep Dari Alamat email dan Pengirim email.

Beberapa server email akan menerima Alamat Dari sebagai Pengirim, dan beberapa menyimpulkan Pengirim secara otomatis, dan beberapa mengharuskan Pengirim ditentukan secara eksplisit.

Secara umum, Pengirim adalah pencetus sebenarnya dari pesan email tersebut. Alamat Dari, sebaliknya, hanyalah baris tajuk di email yang mungkin atau mungkin tidak berarti apa-apa. Alamat Dari sering kali dapat diabaikan sepenuhnya. Pelaku spam dapat dengan mudah memalsukan Alamat Dari. ISP mencoba memastikan bahwa pelaku spam tidak dapat memalsukan Pengirim.

Jeremy Wiggins
sumber