MailMessage, разница между свойствами Отправитель и От

71

Я использовал пространство имен System.Net с тех пор, как мы перешли с .NET Framework 1.1 на фреймворк 3.5, но с одной стороны это меня озадачило. Какая разница между свойствами Sender и From в классе MailMessage?

Они оба одинаковы, и если нет, то есть причина использовать Sender вместе с From?

Например:

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
  • 6
    В случае реализации System.Net.Mail нет никакой разницы. При звонке в SmtpTransport.SendMail он делает это сообщение. message.Sender != null ? message.Sender : message.From Ноль message.Sender != null ? message.Sender : message.From . В результате SmtpClient не позволяет отправлять различные значения для Отправителя и От
Теги:
email
system.net.mail

2 ответа

56
Лучший ответ

Выдержка из вики по электронной почте:

Поля заголовка: Заголовок сообщения должен содержать по крайней мере следующие поля:

От: Адрес электронной почты и, при необходимости, имя автора (ов). Во многих почтовых клиентах не изменяются, кроме как с помощью настроек учетной записи.

Также обратите внимание, что поле "От:" не обязательно должно быть реальным отправителем сообщения электронной почты. Одна из причин заключается в том, что очень легко подделать поле "От:" и дать сообщение, похоже, с любого почтового адреса. Возможно цифровое подписание электронной почты, что намного сложнее подделать, но такие подписи требуют дополнительного программирования и часто внешних программ для проверки. Некоторые интернет-провайдеры не ретранслируют электронную почту, заявляющую, что она поступает из домена, не размещенного ими, но очень мало (если есть) проверки, чтобы убедиться, что человек или даже адрес электронной почты, указанный в поле "От:" , связанные с соединением. Некоторые интернет-провайдеры применяют системы аутентификации по электронной почте для отправки электронной почты через их MTA, чтобы другие MTA могли обнаруживать поддельный спам, который может появиться у них.

Отправитель: Адрес фактического отправителя , действующего от имени автора, указанного в поле От: (секретарь, менеджер списков и т.д.).

Подробная информация о http://en.wikipedia.org/wiki/Email

Например, gmail использует поля from/sender для отправки писем с разных адресов электронной почты, чем ваша учетная запись gmail (после проверки).

24

Я нашел это объяснение довольно легко понять (акцент мой).

Одна область, в которой существует довольно много операций, находится в концепция От адреса электронной почты и Отправителя электронной почты.

Некоторые почтовые серверы будут принимать адрес From как отправитель, и некоторые выводят Sender автоматически, а некоторые требуют Sender для указания явно.

В целом, отправитель является фактическим источником сообщения электронной почты. В отличие от этого адреса From, это просто строка заголовка в письме что может или не может быть означало что-либо. От адреса можно часто оставляются полностью. Спамеры могут легко обманывать From Адрес. Интернет-провайдеры пытаются гарантировать, что спамеры не могут обманывать Отправителя.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню