MailAddress Класс

Определение

Представляет адрес отправителя электронной почты или получателя.

public ref class MailAddress
public class MailAddress
type MailAddress = class
Public Class MailAddress
Наследование
MailAddress

Примеры

В следующем примере кода показано отправку сообщения электронной почты с помощью SmtpClientклассов MailAddressи MailMessage классов.

public static void CreateCopyMessage(string server)
{
    MailAddress from = new MailAddress("ben@contoso.com", "Ben Miller");
    MailAddress to = new MailAddress("jane@contoso.com", "Jane Clayton");
    MailMessage message = new MailMessage(from, to);
    // message.Subject = "Using the SmtpClient class.";
    message.Subject = "Using the SmtpClient class.";
    message.Body = @"Using this feature, you can send an email message from an application very easily.";
    // Add a carbon copy recipient.
    MailAddress copy = new MailAddress("Notification_List@contoso.com");
    message.CC.Add(copy);
    SmtpClient client = new SmtpClient(server);
    // Include credentials if the server requires them.
    client.Credentials = CredentialCache.DefaultNetworkCredentials;
    Console.WriteLine("Sending an email message to {0} by using the SMTP host {1}.",
         to.Address, client.Host);

    try
    {
        client.Send(message);
    }
    catch (Exception ex)
    {
        Console.WriteLine("Exception caught in CreateCopyMessage(): {0}",
            ex.ToString());
    }
}

Комментарии

Класс MailAddress используется классом и MailMessage классами SmtpClient для хранения сведений об адресе для сообщений электронной почты.

Почтовый адрес состоит из имени пользователя, имени узла и необязательного отображаемого имени. DisplayName может содержать символы, отличные от ASCII, если они кодируются.

Класс MailAddress поддерживает следующие форматы адресов почты:

  • Простой формат user@hostадреса. Если задано DisplayName значение не задано, это созданный формат адреса почты.

  • Стандартный формат отображаемого "display name" <user@host>имени. DisplayName Если задано, это созданный формат.

    • Если они еще не включены, угловые скобки добавляются вокруг User имени и Host имени. Например, "display name" user@host изменяется на "display name" <user@host>.
    • Если они еще не включены, кавычки добавляются вокруг DisplayName. Например, display name <user@host> изменяется на "display name" <user@host>.
    • Символы Юникода поддерживаются в свойстве DisplayName .

В этих двух форматах разрешены следующие элементы:

  • User Имя с кавычками. Например: "user name"@host.
  • Литералы домена с квадратными скобками. Например: <user@[my domain]>.
  • Комментарии. Например: (comment)"display name"(comment)<(comment)user(comment)@(comment)domain(comment)>(comment). Комментарии удаляются перед передачей.
  • .NET 9 и более ранних версий: последовательные и конечные точки в именах пользователей. Например: user...name..@host. (Начиная с .NET 10, последовательные точки не допускаются.)

Запятая используется для разделения элементов в списке адресов почты. В результате в списке не следует использовать запятую. Разрешены следующие адреса электронной почты:

"John, Doe" <user@host>, "Bob, Smith" <user2@host>

Не разрешен следующий почтовый адрес:

John, Doe <user@host>, Bob, Smith <user2@host>

Кавычки могут быть внедрены в строку с кавычками, но их необходимо экранировать. Разрешены следующие адреса электронной почты:

"John \"Jr\" Doe" <user@host>

"\"John \\\"Jr\\\" Doe\" <user@host>"

Не разрешен следующий почтовый адрес:

"John "Jr" Doe" <user@host>

Если имя пользователя не кавычек, весь текст между началом строки (или запятой) и адрес считается частью DisplayNameпримечаний. Рассмотрим пример.

(non comment) unquoted display (non comment) name (non comment) <user@host>

MailAddress Хотя класс принимает почтовый адрес как допустимый, другие почтовые серверы могут не принимать почтовый адрес.

Класс MailAddress не поддерживает следующие форматы адресов почты:

  • Смешанные кавычки и неквалированные отображаемые имена. Например: display "name" <user@host>.
  • Группы, как определено в rfC 2822 section 3.4, опубликованных IETF.
  • Устаревшие форматы "user"."name"@hostuser."name"@host имен пользователя или "user".name@host.
  • .NET только 10 и более поздних версий: последовательные точки в имени пользователя, например user...name@host.com.

Конструкторы

Имя Описание
MailAddress(String, String, Encoding)

Инициализирует новый экземпляр класса с помощью указанного MailAddress адреса, отображаемого имени и кодирования.

MailAddress(String, String)

Инициализирует новый экземпляр класса с помощью указанного MailAddress адреса и отображаемого имени.

MailAddress(String)

Инициализирует новый экземпляр класса с помощью указанного MailAddress адреса.

Свойства

Имя Описание
Address

Возвращает адрес электронной почты, указанный при создании этого экземпляра.

DisplayName

Возвращает отображаемое имя, состоящее из отображаемого имени и адреса, указанного при создании этого экземпляра.

Host

Возвращает часть узла адреса, указанного при создании этого экземпляра.

User

Возвращает сведения о пользователе из адреса, указанного при создании этого экземпляра.

Методы

Имя Описание
Equals(Object)

Сравнивает два адреса электронной почты.

GetHashCode()

Возвращает хэш-значение для адреса почты.

GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
ToString()

Возвращает строковое представление этого экземпляра.

Применяется к