MailMessage Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt eine E-Mail dar, die mit der SmtpClient-Klasse gesendet werden kann.
public ref class MailMessage : IDisposable
public class MailMessage : IDisposable
type MailMessage = class
interface IDisposable
Public Class MailMessage
Implements IDisposable
- Vererbung
-
MailMessage
- Implementiert
Beispiele
Im folgenden Codebeispiel wird das Erstellen und Senden einer E-Mail-Nachricht veranschaulicht, die eine Anlage enthält.
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
Hinweise
Instanzen der MailMessage -Klasse werden verwendet, um E-Mail-Nachrichten zu erstellen, die zur Übermittlung mithilfe der SmtpClient -Klasse an einen SMTP-Server übertragen werden.
Absender, Empfänger, Betreff und Textkörper einer E-Mail-Nachricht können als Parameter angegeben werden, wenn ein MailMessage zum Initialisieren eines MailMessage Objekts verwendet wird. Diese Parameter können auch mithilfe von Eigenschaften für das MailMessage Objekt festgelegt oder zugegriffen werden.
Die Header und Elemente der primären E-Mail-Nachricht für die Nachricht können mithilfe der folgenden Eigenschaften der MailMessage -Klasse festgelegt werden.
E-Mail-Header oder -Teil | Eigenschaft |
---|---|
Attachments | Attachments |
Blinde Carbonkopien (BCC) | Bcc |
Carbon Copies (CC) | CC |
Content-Type | BodyEncoding |
Codierung für benutzerdefinierte Header | HeadersEncoding |
Nachrichtentext | Body |
Priorität | Priority |
Recipient | To |
Antwort an | ReplyToList |
Sender | From |
Subject | Subject |
Die MailMessage -Klasse ermöglicht einer Anwendung auch den Zugriff auf die Headerauflistung für die Nachricht mithilfe der Headers -Eigenschaft. Während diese Sammlung schreibgeschützt ist (eine neue Auflistung kann nicht festgelegt werden), können benutzerdefinierte Header dieser Auflistung hinzugefügt oder gelöscht werden. Alle hinzugefügten benutzerdefinierten Header werden beim Senden des MailMessage instance eingeschlossen. Bevor eine Nachricht gesendet wird, werden nur Header, die speziell zu dieser Auflistung in der Headers -Eigenschaft hinzugefügt wurden, in der Auflistung enthalten. Nachdem ein MailMessage instance gesendet wurde, enthält die -Eigenschaft auch Header, die Headers mithilfe der zugeordneten Eigenschaften der Klasse oder der Parameter festgelegt werden, die MailMessage übergeben werden, wenn ein MailMessage zum Initialisieren eines MailMessage -Objekts verwendet wird.
Wenn einige E-Mail-Header falsch formatiert sind, können sie dazu führen, dass die E-Mail-Nachricht beschädigt wird. Daher sollte jeder E-Mail-Header in der Headerauflistung, der mithilfe einer Eigenschaft für die MailMessage Klasse festgelegt werden kann, nur mit der Klasseneigenschaft oder als Parameter festgelegt werden, der MailMessage übergeben wird, wenn ein MailMessageMailMessage Objekt initialisiert wird. Die folgende Liste von E-Mail-Headern sollte nicht mithilfe der -Eigenschaft hinzugefügt werden, und alle Werte, die Headers für diese Header mit der Headers -Eigenschaft festgelegt wurden, werden verworfen oder überschrieben, wenn die Nachricht gesendet wird:
Bcc
Cc
Inhalts-ID
Content-Location
Content-Transfer-Encoding
Content-Type
Datum
From
Wichtigkeit
MIME-Version
Priorität
Antwort an
Sender
An
X-Priorität
Wenn die Anwendung keinen X-Sender-Header mit der Headers -Eigenschaft angibt, erstellt die MailMessage -Klasse einen, wenn die Nachricht gesendet wird.
Verwenden Sie die AlternateViews -Eigenschaft, um Kopien einer E-Mail-Nachricht in verschiedenen Formaten anzugeben. Wenn Sie beispielsweise eine Nachricht in HTML senden, können Sie auch eine Nur-Text-Version bereitstellen, falls einige der Empfänger E-Mail-Reader verwenden, die keine HTML-Inhalte anzeigen können. Ein Beispiel, das das Erstellen einer Nachricht mit alternativen Ansichten veranschaulicht, finden Sie unter AlternateViews.
Verwenden Sie die Attachments -Eigenschaft, um Anlagen zu einer E-Mail-Nachricht hinzuzufügen. Ein Beispiel, das das Erstellen einer Nachricht mit einer Anlage veranschaulicht, finden Sie unter Attachments. Durch Aufrufen von Dispose für die MailMessage wird auch Dispose für jede referenzierte Anlage aufgerufen.
Nachdem Sie Ihre E-Mail-Nachricht zusammengestellt haben, können Sie sie mit den Send Methoden oder SendAsync senden.
Konstruktoren
MailMessage() |
Initialisiert eine leere Instanz der MailMessage-Klasse. |
MailMessage(MailAddress, MailAddress) |
Initialisiert eine neue Instanz der MailMessage-Klasse mithilfe des angegebenen MailAddress-Klassenobjekts. |
MailMessage(String, String) |
Initialisiert eine neue Instanz der MailMessage-Klasse mithilfe des angegebenen String-Klassenobjekts. |
MailMessage(String, String, String, String) |
Initialisiert eine neue Instanz der MailMessage-Klasse. |
Eigenschaften
AlternateViews |
Ruft die Anlagenauflistung ab, die zum Speichern alternativer Formate des Nachrichtentexts verwendet wird. |
Attachments |
Ruft die Anlagenauflistung ab, die zum Speichern der an diese E-Mail angefügten Daten verwendet wird. |
Bcc |
Ruft die Adressenauflistung ab, die die BCC-Empfänger für diese E-Mail enthält. |
Body |
Ruft den Nachrichtentext ab oder legt diesen fest. |
BodyEncoding |
Ruft die Codierung ab, die zum Codieren des Nachrichtentexts verwendet wird, oder legt diese fest. |
BodyTransferEncoding |
Übernimmt oder bestimmt die Übertragungscodierung, die zum Codieren des Nachrichtentexts verwendet wird. |
CC |
Ruft die Adressenauflistung ab, die die CC-Empfänger für diese E-Mail enthält. |
DeliveryNotificationOptions |
Ruft die Übertragungsbenachrichtigungen für die E-Mail ab oder legt diese fest. |
From |
Ruft die Absenderadresse für die E-Mail ab oder legt diese fest. |
Headers |
Ruft die E-Mail-Header ab, die mit dieser E-Mail übertragen werden. |
HeadersEncoding |
Ruft die für die benutzerdefinierten Header für diese E-Mail verwendete Codierung ab oder legt sie fest. |
IsBodyHtml |
Ruft einen Wert ab, der angibt, ob der E-Mail-Nachrichtentext im HTML-Format vorliegt, oder legt diesen fest. |
Priority |
Ruft die Priorität dieser E-Mail ab oder legt sie fest. |
ReplyTo |
Veraltet.
Veraltet.
Veraltet.
Ruft die ReplyTo-Adresse für die E-Mail-Nachricht ab oder legt diese fest. |
ReplyToList |
Ruft die Liste der Adressen ab, an die für die E-Mail eine Antwort gesendet werden soll. |
Sender |
Ruft die Adresse des Absenders für diese E-Mail ab oder legt diese fest. |
Subject |
Ruft die Betreffzeile für die E-Mail ab oder legt diese fest. |
SubjectEncoding |
Ruft die für den Inhalt des Betreffs der E-Mail verwendete Codierung ab oder legt diese fest. |
To |
Ruft die Adressenauflistung ab, die die Empfänger dieser E-Mail enthält. |
Methoden
Dispose() |
Gibt alle vom MailMessage verwendeten Ressourcen frei. |
Dispose(Boolean) |
Gibt die von MailMessage verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei. |
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |