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 имени и Host имени. Например,
В этих двух форматах разрешены следующие элементы:
-
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() |
Возвращает строковое представление этого экземпляра. |