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

Das folgende Codebeispiel veranschaulicht das Erstellen und senden eine e-Mail-Nachricht, die 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 verwendet, um e-Mail-Nachrichten zu erstellen, die an einen SMTP-Server für die Zustellung übertragen werden die SmtpClient Klasse.Instances of the MailMessage class are used to construct email messages that are transmitted to an SMTP server for delivery using the SmtpClient class.

Können der Absender, Empfänger, Betreff und Text einer e-Mail-Nachricht als Parameter angegeben werden bei einer MailMessage dient zum Initialisieren einer MailMessage Objekt.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. Dieser Parameter kann auch festgelegt werden oder darauf zugegriffen, anhand der Eigenschaften für die MailMessage Objekt.These parameters may also be set or accessed using properties on the MailMessage object.

Die primäre e-Mail-Header und die Elemente für die Nachricht, können mithilfe der folgenden Eigenschaften festgelegt werden die MailMessage Klasse.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 einen TeilMail header or part EigenschaftProperty
AnlagenAttachments Attachments
Eine Blindkopie (BCC)Blind carbon copies (BCC) Bcc
Eine Kopie (CC)Carbon copies (CC) CC
Content-TypeContent-Type BodyEncoding
Codierung für benutzerdefinierte HeaderEncoding for custom headers HeadersEncoding
NachrichtentextMessage body Body
PrioritätPriority Priority
EmpfängerRecipient To
Antwort anReply-To ReplyToList
SenderSender From
BetreffSubject Subject

Die MailMessage Klasse kann auch eine Anwendung Zugriff auf die headerauflistung für die Nachricht mithilfe der Headers Eigenschaft.The MailMessage class also allows an application to access the headers collection for the message using the Headers property. Während diese Auflistung schreibgeschützt ist (eine neue Auflistung kann nicht festgelegt werden), benutzerdefinierte Header hinzugefügt werden können oder aus dieser Auflistung gelöscht.While this collection is read-only (a new collection can not be set), custom headers can be added to or deleted from this collection. Benutzerdefinierte Header hinzugefügt werden eingeschlossen, wenn die MailMessage Instanz gesendet wird.Any custom headers added will be included when the MailMessage instance is sent. Bevor eine Nachricht gesendet wird, nur-Header insbesondere dieser Auflistung hinzugefügte in die Headers Eigenschaft in der Auflistung enthalten sind.Before a message is sent, only headers specifically added to this collection in the Headers property are included in the collection. Nach einer der MailMessage Instanz gesendet wird, die Headers Eigenschaft umfasst auch die Header, die mithilfe der zugehörigen Eigenschaften festgelegt werden die MailMessage Klasse oder Parameter übergeben wird, wenn eine MailMessage dient zum Initialisieren eine MailMessage Objekt.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.

Einige e-Mail-Header fehlerhaft sind, können sie die e-Mail-Nachricht beschädigt werden auftreten.If some mail headers are malformed, they could cause the email message to become corrupted. Also alle e-Mail-Header in der headerauflistung, die über eine Eigenschaft festgelegt werden kann die MailMessage Klasse sollte nur festgelegt werden die MailMessage Klasseneigenschaft oder als Parameter übergeben wird, wenn eine MailMessage initialisiert einen MailMessage Objekt.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-Header sollte nicht hinzugefügt werden mithilfe der Headers -Eigenschaft und alle Werte festgelegt werden, für diese Header mit der Headers Eigenschaft werden verworfen oder überschrieben, wenn die Nachricht gesendet wird: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

  • Inhalts-IDContent-ID

  • Inhaltsspeicherort-Content-Location

  • Content-Transfer-EncodingContent-Transfer-Encoding

  • Content-TypeContent-Type

  • DatumDate

  • VonFrom

  • WichtigkeitImportance

  • MIME-VersionMIME-Version

  • PrioritätPriority

  • Antwort anReply-To

  • SenderSender

  • BeschreibungTo

  • X-PrioritätX-Priority

Wenn die Anwendung keine Header für eine X-Sender mit angibt der Headers -Eigenschaft, die MailMessage Klasse wird wird erstellt, 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 der AlternateViews Eigenschaft, um Kopien einer e-Mail-Nachricht in verschiedenen Formaten anzugeben.Use the AlternateViews property to specify copies of an email message in different formats. Z. B. Wenn Sie eine Nachricht im HTML-Format senden, empfiehlt auch, eine nur-Text-Version bereitzustellen, für den Fall, dass einige Empfänger-e-Mail-Reader verwenden, die HTML-Inhalt 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 zur Veranschaulichung erstellen eine Nachricht mit alternativen Ansichten finden Sie unter AlternateViews.For an example that demonstrates creating a message with alternate views, see AlternateViews.

Verwenden der Attachments Eigenschaft Anlagen einer e-Mail-Nachricht hinzu.Use the Attachments property to add attachments to an email message. Ein Beispiel zur Veranschaulichung erstellen eine Nachricht mit einem Anhang finden Sie unter Attachments.For an example that demonstrates creating a message with an attachment, see Attachments.

Sie können es nach dem Assemblieren der e-Mail-Nachricht mit Senden der Send oder SendAsync Methoden.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: