MailMessage Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje wiadomość e-mail, którą można wysłać przy użyciu SmtpClient klasy .
public ref class MailMessage : IDisposable
public class MailMessage : IDisposable
type MailMessage = class
interface IDisposable
Public Class MailMessage
Implements IDisposable
- Dziedziczenie
-
MailMessage
- Implementuje
Przykłady
Poniższy przykład kodu przedstawia tworzenie i wysyłanie wiadomości e-mail zawierającej załącznik.
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 = L"data.xls";
// Create a message and set up the recipients.
MailMessage^ message = gcnew MailMessage( L"jane@contoso.com",L"ben@contoso.com",L"Quarterly data report.",L"See the attached spreadsheet." );
// Create the file attachment for this email message.
Attachment^ data = gcnew 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 = gcnew SmtpClient( server );
// Add credentials if the SMTP server requires them.
client->Credentials = CredentialCache::DefaultNetworkCredentials;
client->Send( message );
// Display the values in the ContentDisposition for the attachment.
ContentDisposition^ cd = data->ContentDisposition;
Console::WriteLine( L"Content disposition" );
Console::WriteLine( cd );
Console::WriteLine( L"File {0}", cd->FileName );
Console::WriteLine( L"Size {0}", cd->Size );
Console::WriteLine( L"Creation {0}", cd->CreationDate );
Console::WriteLine( L"Modification {0}", cd->ModificationDate );
Console::WriteLine( L"Read {0}", cd->ReadDate );
Console::WriteLine( L"Inline {0}", cd->Inline );
Console::WriteLine( L"Parameters: {0}", cd->Parameters->Count );
IEnumerator^ myEnum1 = cd->Parameters->GetEnumerator();
while ( myEnum1->MoveNext() )
{
DictionaryEntry^ d = safe_cast<DictionaryEntry^>(myEnum1->Current);
Console::WriteLine( L"{0} = {1}", d->Key, d->Value );
}
data->~Attachment();
client->~SmtpClient();
}
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
Uwagi
MailMessage Wystąpienia klasy służą do konstruowania wiadomości e-mail przesyłanych do serwera SMTP na potrzeby dostarczania przy użyciu SmtpClient klasy .
Nadawca, adresat, temat i treść wiadomości e-mail mogą być określone jako parametry, gdy MailMessage element jest używany do inicjowania MailMessage obiektu. Te parametry można również ustawić lub uzyskać do nich dostęp przy użyciu właściwości obiektu MailMessage .
Podstawowe nagłówki i elementy wiadomości e-mail dla wiadomości mogą być ustawione przy użyciu następujących właściwości MailMessage klasy.
Nagłówek lub część poczty | Właściwość |
---|---|
Załączniki | Attachments |
Ślepe kopie węglowe (BCC) | Bcc |
Kopie węglowe (CC) | CC |
Content-Type | BodyEncoding |
Kodowanie dla nagłówków niestandardowych | HeadersEncoding |
Treść wiadomości | Body |
Priorytet | Priority |
Adresat | To |
Reply-To | ReplyToList |
Nadawca | From |
Temat | Subject |
Klasa MailMessage umożliwia również aplikacji dostęp do kolekcji nagłówków dla komunikatu Headers przy użyciu właściwości . Chociaż ta kolekcja jest tylko do odczytu (nie można ustawić nowej kolekcji), nagłówki niestandardowe można dodawać do tej kolekcji lub usuwać z tej kolekcji. Wszystkie dodane nagłówki niestandardowe będą uwzględniane podczas wysyłania MailMessage wystąpienia. Przed wysłaniem wiadomości tylko nagłówki specjalnie dodane do tej kolekcji we Headers właściwości są uwzględniane w kolekcji. Po wysłaniu MailMessage wystąpienia właściwość będzie również zawierać nagłówki ustawione przy użyciu skojarzonych właściwości MailMessage klasy lub parametrów przekazywanych, Headers gdy MailMessage obiekt jest używany do inicjowania MailMessage obiektu.
Jeśli niektóre nagłówki poczty są źle sformułowane, mogą spowodować uszkodzenie wiadomości e-mail. Dlatego każdy nagłówek poczty w kolekcji nagłówków, który można ustawić przy użyciu właściwości w MailMessage klasie, należy ustawić tylko przy użyciu MailMessage właściwości klasy lub jako parametr przekazywany podczas MailMessage inicjowania MailMessage obiektu. Następującej listy nagłówków poczty nie należy dodawać przy użyciu Headers właściwości , a wszystkie wartości ustawione dla tych nagłówków przy użyciu Headers właściwości zostaną odrzucone lub zastąpione po wysłaniu wiadomości:
Udw
DW
Identyfikator zawartości
Lokalizacja zawartości
Kodowanie transferu zawartości
Content-Type
Date
Źródło
Ważność
MIME-Version
Priorytet
Reply-To
Nadawca
Działanie
Priorytet X
Jeśli aplikacja nie określi nagłówka X-Sender przy użyciu Headers właściwości , MailMessage klasa utworzy go po wysłaniu komunikatu.
AlternateViews Użyj właściwości , aby określić kopie wiadomości e-mail w różnych formatach. Jeśli na przykład wyślesz wiadomość w kodzie HTML, możesz również podać wersję zwykłego tekstu, jeśli niektórzy adresaci używają czytników wiadomości e-mail, które nie mogą wyświetlać zawartości HTML. Aby zapoznać się z przykładem tworzenia komunikatu z widokami alternatywnymi, zobacz AlternateViews.
Attachments Użyj właściwości , aby dodać załączniki do wiadomości e-mail. Aby zapoznać się z przykładem tworzenia wiadomości z załącznikiem, zobacz Attachments. Wywołanie metody Dispose w mailMessage wywołuje również metodę Dispose dla każdego załącznika, do których odwołuje się odwołanie.
Po zebraniu wiadomości e-mail możesz wysłać ją przy użyciu Send metod lub SendAsync .
Konstruktory
MailMessage() |
Inicjuje MailMessage puste wystąpienie klasy. |
MailMessage(MailAddress, MailAddress) |
Inicjuje MailMessage nowe wystąpienie klasy przy użyciu określonych MailAddress obiektów klasy. |
MailMessage(String, String) |
Inicjuje MailMessage nowe wystąpienie klasy przy użyciu określonych String obiektów klasy. |
MailMessage(String, String, String, String) |
Inicjuje nowe wystąpienie klasy MailMessage. |
Właściwości
AlternateViews |
Pobiera kolekcję załączników używaną do przechowywania alternatywnych formularzy treści wiadomości. |
Attachments |
Pobiera kolekcję załączników używaną do przechowywania danych dołączonych do tej wiadomości e-mail. |
Bcc |
Pobiera kolekcję adresów zawierającą niewidomych adresatów kopii węgla (BCC) dla tej wiadomości e-mail. |
Body |
Pobiera lub ustawia treść komunikatu. |
BodyEncoding |
Pobiera lub ustawia kodowanie używane do kodowania treści komunikatu. |
BodyTransferEncoding |
Pobiera lub ustawia kodowanie transferu używane do kodowania treści komunikatu. |
CC |
Pobiera kolekcję adresów zawierającą adresatów kopii węgla (CC) dla tej wiadomości e-mail. |
DeliveryNotificationOptions |
Pobiera lub ustawia powiadomienia o dostarczaniu tej wiadomości e-mail. |
From |
Pobiera lub ustawia adres od tej wiadomości e-mail. |
Headers |
Pobiera nagłówki wiadomości e-mail przesyłane za pomocą tej wiadomości e-mail. |
HeadersEncoding |
Pobiera lub ustawia kodowanie używane dla nagłówków niestandardowych zdefiniowanych przez użytkownika dla tej wiadomości e-mail. |
IsBodyHtml |
Pobiera lub ustawia wartość wskazującą, czy treść wiadomości e-mail jest w kodzie HTML. |
Priority |
Pobiera lub ustawia priorytet tej wiadomości e-mail. |
ReplyTo |
Przestarzałe.
Przestarzałe.
Przestarzałe.
Pobiera lub ustawia adres ReplyTo dla wiadomości e-mail. |
ReplyToList |
Pobiera listę adresów do odpowiadania na wiadomość e-mail. |
Sender |
Pobiera lub ustawia adres nadawcy dla tej wiadomości e-mail. |
Subject |
Pobiera lub ustawia wiersz tematu dla tej wiadomości e-mail. |
SubjectEncoding |
Pobiera lub ustawia kodowanie używane dla zawartości tematu dla tej wiadomości e-mail. |
To |
Pobiera kolekcję adresów zawierającą adresatów tej wiadomości e-mail. |
Metody
Dispose() |
Zwalnia wszelkie zasoby używane przez element MailMessage. |
Dispose(Boolean) |
Zwalnia zasoby niezarządzane używane przez element MailMessage i opcjonalnie zwalnia zasoby zarządzane. |
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |