MailMessage MailMessage MailMessage MailMessage Class

Definition

Stellt eine E-Mail dar, die mit der SmtpClient-Klasse gesendet werden kann.Represents an email message that can be sent using the SmtpClient class.

public ref class MailMessage : IDisposable
public class MailMessage : IDisposable
type MailMessage = class
    interface IDisposable
Public Class MailMessage
Implements IDisposable
Vererbung
MailMessageMailMessageMailMessageMailMessage
Implementiert

Beispiele

Im folgenden Codebeispiel wird das Erstellen und Senden einer e-Mail-Nachricht veranschaulicht, die eine Anlage enthält.The following code example demonstrates creating and sending an email message that includes an attachment.

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();
}

Hinweise

Instanzen der MailMessage -Klasse werden zum Erstellen von e-Mail-Nachrichten verwendet, die zur Übermittlung mithilfe der SmtpClient -Klasse an einen SMTP-Server übermittelt werden.Instances of the MailMessage class are used to construct email messages that are transmitted to an SMTP server for delivery using the SmtpClient class.

Absender, Empfänger, Betreff und Text einer e-Mail-Nachricht können als Parameter angegeben werden, wenn MailMessage ein- MailMessage Objekt zum Initialisieren eines-Objekts verwendet wird.The sender, recipient, subject, and body of an email message may be specified as parameters when a MailMessage is used to initialize a MailMessage object. Diese Parameter können auch festgelegt werden, oder der Zugriff erfolgt MailMessage über Eigenschaften des Objekts.These parameters may also be set or accessed using properties on the MailMessage object.

Die Header und Elemente der primären e-Mail-Nachricht können mithilfe der folgenden Eigenschaften der MailMessage -Klasse festgelegt werden.The primary mail message headers and elements for the message may be set using the following properties of the MailMessage class.

E-Mail-Header oder TeilMail header or part EigenschaftProperty
AnlagenAttachments Attachments
Blind Kohle Kopien (BCC)Blind carbon copies (BCC) Bcc
Kohle Kopien (CC)Carbon copies (CC) CC
InhaltstypContent-Type BodyEncoding
Codierung für benutzerdefinierte HeaderEncoding for custom headers HeadersEncoding
NachrichtentextMessage body Body
PrioritätPriority Priority
ErhältRecipient To
Antwort anReply-To ReplyToList
SenderSender From
BetreffSubject Subject

Die MailMessage -Klasse ermöglicht es einer Anwendung auch, mithilfe der Headers -Eigenschaft auf die Header Auflistung für die Nachricht zuzugreifen.The MailMessage class also allows an application to access the headers collection for the message using the Headers property. Obwohl diese Auflistung schreibgeschützt ist (eine neue Auflistung kann nicht festgelegt werden), können der Auflistung benutzerdefinierte Header hinzugefügt oder daraus gelöscht werden.While this collection is read-only (a new collection can not be set), custom headers can be added to or deleted from this collection. Alle hinzugefügten benutzerdefinierten Header werden eingeschlossen MailMessage , wenn die Instanz gesendet wird.Any custom headers added will be included when the MailMessage instance is sent. Bevor eine Nachricht gesendet wird, sind nur Header in der-Auflistung enthalten, Headers die dieser Auflistung speziell in der-Eigenschaft hinzugefügt werden.Before a message is sent, only headers specifically added to this collection in the Headers property are included in the collection. Nachdem eine MailMessage Instanz von gesendet wurde, schließt Headers die-Eigenschaft auch Header ein, die mithilfe MailMessage der zugeordneten Eigenschaften der-Klasse oder der übergebenen MailMessage Parameter festgelegt werden, MailMessage wenn ein-Objekt initialisiert wird.After a the MailMessage instance is sent, the Headers property will also include headers that are set using the associated properties of the MailMessage class or parameters passed when a MailMessage is used to initialize a MailMessage object.

Wenn einige e-Mail-Header falsch formatiert sind, kann dies dazu führen, dass die e-Mail beschädigt wird.If some mail headers are malformed, they could cause the email message to become corrupted. Daher sollte jeder e-Mail-Header in der Headers-Auflistung, der mithilfe einer MailMessage Eigenschaft für die Klasse festgelegt werden MailMessage kann, nur mithilfe der Class-Eigenschaft oder als Parameter fest MailMessage gelegt werden, der übergeben wird, wenn ein MailMessage -Objekt initialisiert.So any mail header in the headers collection that can be set using a property on the MailMessage class should only be set using the MailMessage class property or as a parameter passed when a MailMessage initializes a MailMessage object. Die folgende Liste von e-Mail-Headern sollte nicht Headers mithilfe der-Eigenschaft hinzugefügt werden. alle Werte Headers , die für diese Header mithilfe der-Eigenschaft festgelegt werden, werden beim Senden der Nachricht verworfen oder überschrieben:The following list of mail headers should not be added using the Headers property and any values set for these headers using the Headers property will be discarded or overwritten when the message is sent:

  • BCCBcc

  • CcCc

  • Content-IDContent-ID

  • Inhalt-SpeicherortContent-Location

  • Content-Transfer-EncodingContent-Transfer-Encoding

  • InhaltstypContent-Type

  • DatumDate

  • VonFrom

  • WichtigkeitImportance

  • MIME-VersionMIME-Version

  • PrioritätPriority

  • Antwort anReply-To

  • SenderSender

  • BeschreibungTo

  • X-PrioritätX-Priority

Wenn die Anwendung keinen X-Sender-Header mithilfe der Headers -Eigenschaft angibt, erstellt die MailMessage -Klasse eine, wenn die Nachricht gesendet wird.If the application does not specify an X-Sender header using the Headers property, the MailMessage class will create one when the message is sent.

Verwenden Sie AlternateViews die-Eigenschaft, um Kopien einer e-Mail-Nachricht in unterschiedlichen Formaten anzugeben.Use the AlternateViews property to specify copies of an email message in different formats. Wenn Sie z. b. eine Nachricht im HTML-Format senden, sollten Sie auch eine nur-Text-Version bereitstellen, falls einige der Empfänger e-Mail-Reader verwenden, die HTML-Inhalte nicht anzeigen können.For example, if you send a message in HTML, you might also want to provide a plain text version in case some of the recipients use email readers that cannot display HTML content. Ein Beispiel, das das Erstellen einer Nachricht mit alternativen Sichten veranschaulicht, AlternateViewsfinden Sie unter.For an example that demonstrates creating a message with alternate views, see AlternateViews.

Verwenden Sie Attachments die-Eigenschaft, um einer e-Mail Anlagen hinzuzufügen.Use the Attachments property to add attachments to an email message. Ein Beispiel, das das Erstellen einer Nachricht mit einer Anlage veranschaulicht, Attachmentsfinden Sie unter.For an example that demonstrates creating a message with an attachment, see Attachments. Wenn Sie verwerfen für die MailMessage aufrufen, wird auch die Freigabe für jede referenzierte Anlage aufgerufen.Calling Dispose on the MailMessage also calls Dispose on each referenced Attachment.

Nachdem Sie Ihre e-Mail assembliert haben, können Sie Sie mithilfe Send der SendAsync -Methode oder der-Methode senden.After assembling your email message, you can send it by using the Send or SendAsync methods.

Konstruktoren

MailMessage() MailMessage() MailMessage() MailMessage()

Initialisiert eine leere Instanz der MailMessage-Klasse.Initializes an empty instance of the MailMessage class.

MailMessage(MailAddress, MailAddress) MailMessage(MailAddress, MailAddress) MailMessage(MailAddress, MailAddress) MailMessage(MailAddress, MailAddress)

Initialisiert eine neue Instanz der MailMessage-Klasse mithilfe des angegebenen MailAddress-Klassenobjekts.Initializes a new instance of the MailMessage class by using the specified MailAddress class objects.

MailMessage(String, String) MailMessage(String, String) MailMessage(String, String) MailMessage(String, String)

Initialisiert eine neue Instanz der MailMessage-Klasse mithilfe des angegebenen String-Klassenobjekts.Initializes a new instance of the MailMessage class by using the specified String class objects.

MailMessage(String, String, String, String) MailMessage(String, String, String, String) MailMessage(String, String, String, String) MailMessage(String, String, String, String)

Initialisiert eine neue Instanz der MailMessage-Klasse.Initializes a new instance of the MailMessage class.

Eigenschaften

AlternateViews AlternateViews AlternateViews AlternateViews

Ruft die Anlagenauflistung ab, die zum Speichern alternativer Formate des Nachrichtentexts verwendet wird.Gets the attachment collection used to store alternate forms of the message body.

Attachments Attachments Attachments Attachments

Ruft die Anlagenauflistung ab, die zum Speichern der an diese E-Mail angefügten Daten verwendet wird.Gets the attachment collection used to store data attached to this email message.

Bcc Bcc Bcc Bcc

Ruft die Adressenauflistung ab, die die BCC-Empfänger für diese E-Mail enthält.Gets the address collection that contains the blind carbon copy (BCC) recipients for this email message.

Body Body Body Body

Ruft den Nachrichtentext ab oder legt diesen fest.Gets or sets the message body.

BodyEncoding BodyEncoding BodyEncoding BodyEncoding

Ruft die Codierung ab, die zum Codieren des Nachrichtentexts verwendet wird, oder legt diese fest.Gets or sets the encoding used to encode the message body.

BodyTransferEncoding BodyTransferEncoding BodyTransferEncoding BodyTransferEncoding

Übernimmt oder bestimmt die Übertragungscodierung, die zum Codieren des Nachrichtentexts verwendet wird.Gets or sets the transfer encoding used to encode the message body.

CC CC CC CC

Ruft die Adressenauflistung ab, die die CC-Empfänger für diese E-Mail enthält.Gets the address collection that contains the carbon copy (CC) recipients for this email message.

DeliveryNotificationOptions DeliveryNotificationOptions DeliveryNotificationOptions DeliveryNotificationOptions

Ruft die Übertragungsbenachrichtigungen für die E-Mail ab oder legt diese fest.Gets or sets the delivery notifications for this email message.

From From From From

Ruft die Absenderadresse für die E-Mail ab oder legt diese fest.Gets or sets the from address for this email message.

Headers Headers Headers Headers

Ruft die E-Mail-Header ab, die mit dieser E-Mail übertragen werden.Gets the email headers that are transmitted with this email message.

HeadersEncoding HeadersEncoding HeadersEncoding HeadersEncoding

Ruft die für die benutzerdefinierten Header für diese E-Mail verwendete Codierung ab oder legt sie fest.Gets or sets the encoding used for the user-defined custom headers for this email message.

IsBodyHtml IsBodyHtml IsBodyHtml IsBodyHtml

Ruft einen Wert ab, der angibt, ob der E-Mail-Nachrichtentext im HTML-Format vorliegt, oder legt diesen fest.Gets or sets a value indicating whether the mail message body is in HTML.

Priority Priority Priority Priority

Ruft die Priorität dieser E-Mail ab oder legt sie fest.Gets or sets the priority of this email message.

ReplyTo ReplyTo ReplyTo ReplyTo

Ruft die ReplyTo-Adresse für die E-Mail-Nachricht ab oder legt diese fest.Gets or sets the ReplyTo address for the mail message.

ReplyToList ReplyToList ReplyToList ReplyToList

Ruft die Liste der Adressen ab, an die für die E-Mail eine Antwort gesendet werden soll.Gets the list of addresses to reply to for the mail message.

Sender Sender Sender Sender

Ruft die Adresse des Absenders für diese E-Mail ab oder legt diese fest.Gets or sets the sender's address for this email message.

Subject Subject Subject Subject

Ruft die Betreffzeile für die E-Mail ab oder legt diese fest.Gets or sets the subject line for this email message.

SubjectEncoding SubjectEncoding SubjectEncoding SubjectEncoding

Ruft die für den Inhalt des Betreffs der E-Mail verwendete Codierung ab oder legt diese fest.Gets or sets the encoding used for the subject content for this email message.

To To To To

Ruft die Adressenauflistung ab, die die Empfänger dieser E-Mail enthält.Gets the address collection that contains the recipients of this email message.

Methoden

Dispose() Dispose() Dispose() Dispose()

Gibt alle vom MailMessage verwendeten Ressourcen frei.Releases all resources used by the MailMessage.

Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Gibt die von MailMessage verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.Releases the unmanaged resources used by the MailMessage and optionally releases the managed resources.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)

Gilt für: