MailMessage Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет сообщение электронной почты, которое можно отправить с помощью SmtpClient класса.
public ref class MailMessage : IDisposable
public class MailMessage : IDisposable
type MailMessage = class
interface IDisposable
Public Class MailMessage
Implements IDisposable
- Наследование
-
MailMessage
- Реализации
Примеры
В следующем примере кода показано создание и отправка сообщения электронной почты, включающее вложение.
public static void CreateMessageWithAttachment(string server)
{
// Specify the file to be attached and sent.
// This example assumes that a file named Data.xls exists in the
// current working directory.
string file = "data.xls";
// Create a message and set up the recipients.
MailMessage message = new MailMessage(
"jane@contoso.com",
"ben@contoso.com",
"Quarterly data report.",
"See the attached spreadsheet.");
// Create the file attachment for this email message.
Attachment data = new Attachment(file, MediaTypeNames.Application.Octet);
// Add time stamp information for the file.
ContentDisposition disposition = data.ContentDisposition;
disposition.CreationDate = System.IO.File.GetCreationTime(file);
disposition.ModificationDate = System.IO.File.GetLastWriteTime(file);
disposition.ReadDate = System.IO.File.GetLastAccessTime(file);
// Add the file attachment to this email message.
message.Attachments.Add(data);
//Send the message.
SmtpClient client = new SmtpClient(server);
// Add credentials if the SMTP server requires them.
client.Credentials = CredentialCache.DefaultNetworkCredentials;
try
{
client.Send(message);
}
catch (Exception ex)
{
Console.WriteLine("Exception caught in CreateMessageWithAttachment(): {0}",
ex.ToString());
}
// Display the values in the ContentDisposition for the attachment.
ContentDisposition cd = data.ContentDisposition;
Console.WriteLine("Content disposition");
Console.WriteLine(cd.ToString());
Console.WriteLine("File {0}", cd.FileName);
Console.WriteLine("Size {0}", cd.Size);
Console.WriteLine("Creation {0}", cd.CreationDate);
Console.WriteLine("Modification {0}", cd.ModificationDate);
Console.WriteLine("Read {0}", cd.ReadDate);
Console.WriteLine("Inline {0}", cd.Inline);
Console.WriteLine("Parameters: {0}", cd.Parameters.Count);
foreach (DictionaryEntry d in cd.Parameters)
{
Console.WriteLine("{0} = {1}", d.Key, d.Value);
}
data.Dispose();
}
Public Shared Sub CreateMessageWithAttachment(ByVal server As String)
' Specify the file to be attached And sent.
' This example assumes that a file named Data.xls exists in the
' current working directory.
Dim file As String = "data.xls"
' Create a message and set up the recipients.
Dim message As MailMessage = New MailMessage(
"jane@contoso.com",
"ben@contoso.com",
"Quarterly data report.",
"See the attached spreadsheet.")
' Create the file attachment for this email message.
Dim data As Attachment = New Attachment(file, MediaTypeNames.Application.Octet)
' Add time stamp information for the file.
Dim disposition As ContentDisposition = data.ContentDisposition
disposition.CreationDate = System.IO.File.GetCreationTime(file)
disposition.ModificationDate = System.IO.File.GetLastWriteTime(file)
disposition.ReadDate = System.IO.File.GetLastAccessTime(file)
' Add the file attachment to this email message.
message.Attachments.Add(data)
' Send the message
Dim client As SmtpClient = New SmtpClient(server)
' Add credentials if the SMTP server requires them.
client.Credentials = CredentialCache.DefaultNetworkCredentials
Try
client.Send(message)
Catch ex As Exception
Console.WriteLine("Exception caught in CreateMessageWithAttachment(): {0}", ex.ToString())
End Try
' Display the values in the ContentDisposition for the attachment.
Dim cd As ContentDisposition = data.ContentDisposition
Console.WriteLine("Content disposition")
Console.WriteLine(cd.ToString())
Console.WriteLine("File {0}", cd.FileName)
Console.WriteLine("Size {0}", cd.Size)
Console.WriteLine("Creation {0}", cd.CreationDate)
Console.WriteLine("Modification {0}", cd.ModificationDate)
Console.WriteLine("Read {0}", cd.ReadDate)
Console.WriteLine("Inline {0}", cd.Inline)
Console.WriteLine("Parameters: {0}", cd.Parameters.Count)
For Each d As DictionaryEntry In cd.Parameters
Console.WriteLine("{0} = {1}", d.Key, d.Value)
Next
data.Dispose()
End Sub
Комментарии
Экземпляры MailMessage класса используются для создания сообщений электронной почты, передаваемых на SMTP-сервер для доставки с помощью SmtpClient класса.
Отправитель, получатель, тема и текст сообщения электронной почты могут быть указаны в качестве параметров, когда MailMessage используется для инициализации MailMessage объекта. Эти параметры также могут быть заданы или доступны с помощью свойств объекта MailMessage .
Заголовки и элементы основного почтового MailMessage сообщения для сообщения могут быть заданы с помощью следующих свойств класса.
| Заголовок или часть почты | Недвижимость |
|---|---|
| Attachments | Attachments |
| Слепые углеродные копии (BCC) | Bcc |
| Углеродные копии (CC) | CC |
| Тип содержимого | BodyEncoding |
| Кодировка для пользовательских заголовков | HeadersEncoding |
| Текст сообщения | Body |
| Priority | Priority |
| Recipient | To |
| Reply-To | ReplyToList |
| Отправитель | From |
| Тема | Subject |
Класс MailMessage также позволяет приложению получить доступ к коллекции заголовков для сообщения с помощью Headers свойства. Хотя эта коллекция доступна только для чтения (новая коллекция не может быть задана), пользовательские заголовки можно добавлять или удалять из этой коллекции. Все добавленные пользовательские заголовки будут включены при отправке экземпляра MailMessage . Перед отправкой сообщения в коллекцию включаются только заголовки, добавленные в Headers эту коллекцию. MailMessage После отправки Headers экземпляра свойство также будет содержать заголовки, заданные с использованием связанных свойств MailMessage класса или параметров, передаваемых при MailMessage инициализации MailMessage объекта.
Если некоторые заголовки почты повреждены, они могут привести к повреждению сообщения электронной почты. Поэтому любой заголовок почты в коллекции заголовков, который можно задать с помощью свойства класса, MailMessage должен быть задан только с помощью MailMessage свойства класса или в качестве параметра, передаваемого MailMessage при MailMessage инициализации объекта. Следующий список заголовков почты не должен быть добавлен с помощью Headers свойства и любые значения, заданные для этих заголовков с помощью Headers свойства, будут удалены или перезаписаны при отправке сообщения:
- Bcc
- Копия (Cc)
- Идентификатор содержимого
- Расположение содержимого
- Кодировка передачи содержимого
- Тип содержимого
- Дата
- От
- Важность
- MIME-Version
- Priority
- Reply-To
- Отправитель
- Кому
- Приоритет X
Если приложение не указывает заголовок X-Sender с помощью Headers свойства, MailMessage класс создаст его при отправке сообщения.
AlternateViews Используйте свойство, чтобы указать копии сообщения электронной почты в разных форматах. Например, если вы отправляете сообщение в HTML, может потребоваться также предоставить версию обычного текста, если некоторые получатели используют средства чтения электронной почты, которые не могут отображать HTML-содержимое. Пример, демонстрирующий создание сообщения с альтернативными представлениями, см. в разделе AlternateViews.
Attachments Используйте свойство для добавления вложений в сообщение электронной почты. Пример, демонстрирующий создание сообщения с вложением, см. в разделе Attachments. Вызов Dispose в MailMessage также вызывает Dispose для каждого указанного вложения.
После сборки сообщения электронной почты его можно отправить с помощью Send методов или SendAsync методов.
Конструкторы
| Имя | Описание |
|---|---|
| MailMessage() |
Инициализирует пустой экземпляр MailMessage класса. |
| MailMessage(MailAddress, MailAddress) |
Инициализирует новый экземпляр MailMessage класса с помощью указанных MailAddress объектов класса. |
| MailMessage(String, String, String, String) |
Инициализирует новый экземпляр класса MailMessage. |
| MailMessage(String, String) |
Инициализирует новый экземпляр MailMessage класса с помощью указанных String объектов класса. |
Свойства
| Имя | Описание |
|---|---|
| AlternateViews |
Возвращает коллекцию вложений, используемую для хранения альтернативных форм текста сообщения. |
| Attachments |
Возвращает коллекцию вложений, используемую для хранения данных, подключенных к этому сообщению электронной почты. |
| Bcc |
Возвращает коллекцию адресов, содержащую получателей слепой копии углерода (BCC) для этого сообщения электронной почты. |
| Body |
Возвращает или задает текст сообщения. |
| BodyEncoding |
Возвращает или задает кодировку, используемую для кодирования текста сообщения. |
| BodyTransferEncoding |
Возвращает или задает кодировку передачи, используемую для кодирования текста сообщения. |
| CC |
Возвращает коллекцию адресов, содержащую получателей углеродной копии (CC) для этого сообщения электронной почты. |
| DeliveryNotificationOptions |
Возвращает или задает уведомления о доставке для этого сообщения электронной почты. |
| From |
Возвращает или задает адрес из этого сообщения электронной почты. |
| Headers |
Возвращает заголовки электронной почты, передаваемые с помощью этого сообщения электронной почты. |
| HeadersEncoding |
Возвращает или задает кодировку, используемую для пользовательских заголовков для этого сообщения электронной почты. |
| IsBodyHtml |
Возвращает или задает значение, указывающее, находится ли текст сообщения в ФОРМАТЕ HTML. |
| Priority |
Возвращает или задает приоритет этого сообщения электронной почты. |
| ReplyTo |
Устаревшие..
Устаревшие..
Устаревшие..
Возвращает или задает адрес ReplyTo для почтового сообщения. |
| ReplyToList |
Возвращает список адресов для ответа на сообщение электронной почты. |
| Sender |
Возвращает или задает адрес отправителя для этого сообщения электронной почты. |
| Subject |
Возвращает или задает строку темы для этого сообщения электронной почты. |
| SubjectEncoding |
Возвращает или задает кодировку, используемую для содержимого темы для этого сообщения электронной почты. |
| To |
Возвращает коллекцию адресов, содержащую получателей этого сообщения электронной почты. |
Методы
| Имя | Описание |
|---|---|
| Dispose() |
Освобождает все ресурсы, используемые параметром MailMessage. |
| Dispose(Boolean) |
Освобождает неуправляемые ресурсы, используемые MailMessage и при необходимости освобождает управляемые ресурсы. |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |