MailMessage, sự khác biệt giữa thuộc tính Người gửi và Người gửi


88

Tôi đã sử dụng System.Netkhông gian tên kể từ khi chúng tôi chuyển từ .NET Framework 1.1 sang framework 3.5, nhưng có một điều khiến tôi bối rối kể từ đó. Sự khác biệt giữa thuộc tính SenderFromthuộc tính trong MailMessagelớp là gì?

Cả hai đều giống nhau, và nếu không có lý do để sử dụng Sendercùng với From?

Ví dụ:

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

7
Trong trường hợp triển khai System.Net.Mail không có sự khác biệt. Khi gọi vào SmtpTransport.SendMail, nó thực hiện điều này message.Sender != null ? message.Sender : message.From. Kết quả là SmtpClient không cho phép bạn gửi các giá trị khác biệt cho người gửi và Từ
Sam

Câu trả lời:


70

Trích từ wiki trên email:

Các trường tiêu đề: Tiêu đề thư phải bao gồm ít nhất các trường sau:

Từ: Địa chỉ e-mail, và tùy chọn tên của (các) tác giả. Trong nhiều ứng dụng e-mail không thể thay đổi ngoại trừ việc thay đổi cài đặt tài khoản.

Cũng lưu ý rằng trường "Từ:" không phải là người gửi thực sự của thư e-mail. Một lý do là rất dễ giả mạo trường "Từ:" và để thư dường như đến từ bất kỳ địa chỉ thư nào. Có thể ký điện tử bằng kỹ thuật số, khó làm giả hơn nhiều, nhưng những chữ ký như vậy đòi hỏi phải lập trình thêm và thường là các chương trình bên ngoài để xác minh. Một số ISP không chuyển tiếp e-mail tuyên bố đến từ miền không do họ lưu trữ, nhưng rất ít (nếu có) kiểm tra để đảm bảo rằng người hoặc thậm chí địa chỉ e-mail có tên trong trường "Từ:" là địa chỉ liên kết với kết nối. Một số ISP áp dụng hệ thống xác thực e-mail cho e-mail được gửi qua MTA của họ để cho phép các MTA khác phát hiện thư rác giả mạo có thể đến từ chúng.

Người gửi: Địa chỉ của người gửi thực tế thay mặt cho tác giả được liệt kê trong trường Từ: (thư ký, người quản lý danh sách, v.v.).

Thông tin chi tiết trên http://en.wikipedia.org/wiki/Email

Ví dụ: gmail sử dụng các trường from / sender để gửi email từ các địa chỉ email khác với tài khoản gmail của bạn (Sau khi xác minh).


28

Tôi thấy lời giải thích này khá dễ hiểu (tôi nhấn mạnh).

Một lĩnh vực mà có khá nhiều hoạt động nằm trong khái niệm Địa chỉ Từ của email và Người gửi của email.

Một số máy chủ email sẽ chấp nhận Địa chỉ Người gửi là Người gửi và một số máy chủ tự động suy ra Người gửi và một số yêu cầu Người gửi phải được chỉ định rõ ràng.

Nói chung, Người gửi là người khởi tạo thực sự của email. Ngược lại, Địa chỉ Từ chỉ là một dòng tiêu đề trong email có thể có hoặc không có ý nghĩa gì. Địa chỉ Từ thường có thể bị bỏ qua hoàn toàn. Những kẻ gửi thư rác có thể dễ dàng giả mạo Địa chỉ Từ. ISP cố gắng đảm bảo rằng những kẻ gửi thư rác không thể giả mạo Người gửi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.