Erstellen und Festlegen von Inhalten von E‑Mails
Neue E‑Mail‑Nachricht erstellen
Die MailMessage‑Klasse repräsentiert eine E‑Mail‑Nachricht und ermöglicht Entwicklern das Erstellen neuer E‑Mails. Grundlegende E‑Mail‑Eigenschaften wie From, To, Subject und Body können einfach der neu erstellten MailMessage zugeordnet werden. Ebenso kann die MailMessage in verschiedene Formate wie EML, MSG und MHTML gespeichert werden.
- Erstellen Sie eine Instanz der MailMessage‑Klasse.
- Setze die Eigenschaften der Mail‑Nachricht.
- Speichere die Mail‑Nachricht in verschiedenen Formaten.
Das folgende Code‑Snippet zeigt, wie man eine neue E‑Mail mit verschiedenen Eigenschaften erstellt.
Mehrere Empfänger angeben
Die MailMessage repräsentiert eine E‑Mail‑Nachricht. Instanzen der MailMessage‑Klasse werden verwendet, um E‑Mail‑Nachrichten zu erstellen, die über die SmtpClient‑Klasse an einen SMTP‑Server übertragen werden. Dieser Abschnitt zeigt, wie man mehr als eine E‑Mail‑Adresse angibt. E‑Mail‑Adressen können über die MailMessage‑Klasse angegeben werden. Die in der MailMessage‑Klasse verwendeten E‑Mail‑Adressen sind:
- To - Empfängeradressen können im Feld „To“ angegeben werden. Die Empfänger im Feld „To“ bilden das primäre Publikum der Nachricht. Es kann mehr als eine Empfängeradresse geben.
- Cc - Cc steht für „Carbon Copy“ bzw. „Courtesy Copy“ und ermöglicht das Hinzufügen von Empfängern, die die E‑Mail sehen müssen, aber nicht unbedingt darauf reagieren sollen. Zum Beispiel Manager oder Teammitglieder, die über eine Konversation informiert sein müssen. Mit Aspose.Email können Cc‑Adressen im Code angegeben werden. So können automatisierte E‑Mails oder alle E‑Mails an eine bestimmte Adresse an relevantes Personal weitergeleitet werden.
- Bcc - Bcc (Blind Carbon Copy) ermöglicht das Senden einer E‑Mail an einen Empfänger, der für andere Empfänger verborgen bleibt. Während ein CC in den E‑Mail‑Informationen erscheint, die die Hauptempfänger sehen, ist ein Bcc das nicht. Es dient der versteckten Benachrichtigung.
Um mehrere E‑Mail‑Adressen in einer Nachricht anzugeben, führen Sie folgende Schritte aus:
- Erstellen Sie eine Instanz der MailMessage‑Klasse.
- Geben Sie den From‑ sowie mehrere To-, Cc- und Bcc‑Adressen mit der MailMessage‑Instanz an.
- Erstellen Sie eine Instanz der SmtpClient‑Klasse und senden Sie die E‑Mail mit der Send‑Methode.
Das untenstehende Codebeispiel zeigt, wie mehrere To-, CC‑ und BCC‑Adressen angegeben werden können.
Ändern von E‑Mail‑Adressen zu einem freundlichen Namen
Die nachstehenden Programmbeispiele zeigen, wie E‑Mail‑Adressen in einer Nachricht in freundliche Namen umgewandelt werden. Ein freundlicher Name ist ein lesbarer Name, der anstelle der E‑Mail‑Adresse verwendet wird, z. B. John Smith statt js346@domain.com. Beim Senden einer E‑Mail kann ein freundlicher Name mit einer E‑Mail‑Adresse im Konstruktor der MailMessage‑Klasse verknüpft werden.
Um E‑Mail‑Adressen in einer Nachricht in freundliche Namen zu ändern, führen Sie folgende Schritte aus:
- Erstellen Sie eine Instanz der MailMessage‑Klasse und geben Sie E‑Mail‑Adressen im To‑ und From‑Feld zusammen mit freundlichen Namen an.
- Geben Sie die Cc‑ und Bcc‑E‑Mail‑Adressen zusammen mit freundlichen Namen an, indem Sie den Konstruktor der MailMessage‑Klasse in der MailMessage‑Instanz aufrufen.
- Erstellen Sie eine Instanz der SmtpClient‑Klasse und senden Sie die E‑Mail mit der Send‑Methode.
Das folgende Code‑Snippet zeigt, wie Namen für E‑Mail‑Adressen angezeigt werden.
Mail‑Body festlegen
Die MailMessage‑Klasse repräsentiert eine E‑Mail‑Nachricht. Instanzen der MailMessage‑Klasse werden verwendet, um E‑Mail‑Nachrichten zu erstellen, die über die SmtpClient‑Klasse an einen SMTP‑Server zur Zustellung gesendet werden. Ein Mail‑Body kann über die MailMessage‑Klasse angegeben werden. Eine E‑Mail kann mehrere Bodies haben. In der MailMessage‑Klasse gibt es zwei Arten von Mail‑Bodies:
- HTML‑Body
- Text‑Body
Zusätzlich zu HtmlBody und TextBody besitzt Aspose.Email zwei weitere schreibgeschützte Eigenschaften, die den Mail‑Body betreffen:
- IsBodyText: gibt an, ob der Body Text ist.
- IsBodyHtml: gibt an, ob der Body HTML oder Nur‑Text ist.
Dieser Artikel zeigt, wie man einfachen Text‑ oder HTML‑Body‑Text definiert, alternativen Text festlegt und den E‑Mail‑Body kodiert.
HTML‑Body festlegen
HtmlBody wird verwendet, um den HTML‑Inhalt des Nachrichten‑Bodys anzugeben. HtmlBody muss zwischen den -Tags stehen. Das folgende Code‑Snippet zeigt, wie man den HTML‑Body setzt.
Alternativen Text festlegen
Verwenden Sie die Klasse AlternateView, um Kopien einer E‑Mail‑Nachricht in unterschiedlichen Formaten anzugeben. Wenn Sie beispielsweise eine Nachricht in HTML senden, möchten Sie möglicherweise auch eine Nur‑Text‑Version bereitstellen, falls einige Empfänger E‑Mail‑Programme verwenden, die HTML‑Inhalte nicht darstellen können. Diese Klasse verfügt über zwei Eigenschaften, LinkedResources und BaseUri, die zum Auflösen von URLs im Inhalt der E‑Mail verwendet werden.
- LinkedResources ist eine Sammlung von LinkedResources‑Objekten. Beim Rendern werden URLs im E‑Mail‑Inhalt zuerst mit den URLs im Content‑Link jedes LinkedResources‑Objekts in der LinkedResources‑Sammlung abgeglichen und aufgelöst.
- BaseUri wird vom Mail‑Reader verwendet, um relative URLs im Body aufzulösen, und auch um relative Content‑Link‑URLs in der LinkedResources‑Sammlung aufzulösen.
Das folgende Code‑Snippet zeigt, wie man alternativen Text festlegt.
MailMessage‑Funktionen
Die MailMessage Klasse stellt den Inhalt einer E‑Mail‑Nachricht dar. Instanzen der MailMessage Klassen werden verwendet, um eine E‑Mail‑Nachricht zu erstellen, die über einen SMTP‑Server zur Zustellung gesendet wird, indem SmtpClient Klasse. Dieser Artikel zeigt, wie man verwendet MailMessage Klassen‑Utility‑Funktionen zur Steuerung der folgenden E‑Mail‑Funktionen:
- Datum und Uhrzeit – Durch die MailMessage Die Date‑Eigenschaft der Klasse ermöglicht das Abrufen oder Festlegen von Datum und Uhrzeit einer E‑Mail.
- Nachrichtenpriorität – Die MailPriority Klasse, die Prioritätsstufen für das Senden einer E‑Mail‑Nachricht definiert. Sie kann niedrig, normal oder hoch sein. Die Priorität beeinflusst die Übertragungsgeschwindigkeit und Zustellung.
- Nachrichtenempfindlichkeit – Die MailSensitivity Klasse, die fünf Empfindlichkeitsstufen definiert.
- Zustellungsbenachrichtigung – Zustellungsbenachrichtigungen informieren Absender darüber, dass die gesendete E‑Mail im Posteingang des Empfängers zugestellt wurde.
Standardmäßig ist das Datum das tatsächliche Datum, an dem die Nachricht gesendet wurde, und die Zeit ist die Uhrzeit, zu der sie gesendet wurde, wie von Microsoft Outlook angezeigt. Der tatsächliche Zustellzeitpunkt der E‑Mail wird jedoch vom SMTP‑Server selbst im Nachrichtenkopf hinzugefügt. Zum Beispiel ist unten ein typischer Nachrichtenkopf gezeigt, bei dem „Date“ das Feld Date festlegt.
Das folgende Code‑Snippet zeigt, wie jede der oben besprochenen Funktionen verwendet werden kann.
Anfordern einer Lesebestätigung
Die nachfolgenden Programmbeispiele zeigen, wie Sie eine Lesebestätigung anfordern können. Die MailMessage Klasse DeliveryNotificationOptions Die Enumerations‑Eigenschaft beschreibt die Optionen für Lieferbenachrichtigungen einer E‑Mail. Um nach dem Senden einer E‑Mail eine Lesebestätigung anzufordern, führen Sie die folgenden Schritte aus:
- Erstellen Sie eine Instanz von dem MailMessage Klasse.
- Gib Absender, Empfänger und HTML‑Body für die E‑Mail im MailMessage Instanz.
- Geben Sie das DeliveryNotificationOptions in anderen MailMessage Instanzen.
- Erstellen Sie eine Instanz von dem SmtpClient Klasse und sende die E‑Mail mit der Send‑Methode.
Lesebestätigungsanfragen werden nicht immer berücksichtigt, weil:
- Ein Mail‑Client implementiert diese Funktion möglicherweise nicht.
- Der Endbenutzer hat diese Funktion möglicherweise deaktiviert.
- Der Endbenutzer kann entscheiden, keine zu senden.
Das folgende Code‑Snippet zeigt, wie man eine Lesebestätigung anfordert.
E‑Mail-Header festlegen
E‑Mail‑Header stellen einen Internetstandard dar und RFC definiert Header‑Felder, die in Internet‑E‑Mail‑Nachrichten enthalten sind. Ein E‑Mail‑Header kann mit der MailMessage‑Klasse angegeben werden. Häufige Header‑Typen sind in der HeaderType‑Klasse definiert. Es ist eine versiegelte Klasse, die wie eine normale Aufzählung funktioniert.
Normalerweise enthält ein E‑Mail-Header diese Felder:
- To: Empfängeradressen können im To‑Feld angegeben werden. Die Empfänger im To‑Feld bilden die primäre Zielgruppe der Nachricht. Es können mehrere Empfängeradressen angegeben werden.
- From: Dieses Feld zeigt die E‑Mail-Adresse des Absenders der Nachricht an.
- Cc: Ermöglicht das Senden einer Nachricht als „Carbon Copy“ bzw. „Courtesy Copy“. Der Empfänger muss nicht antworten oder handeln. In der Regel werden Aufsichtspersonen per CC benachrichtigt.
- Bcc: Steht für Blind Carbon Copy und bezieht sich auf die Praxis, eine Nachricht an mehrere Empfänger zu senden, wobei die Empfänger die vollständige Empfängerliste nicht sehen. Es dient der versteckten Benachrichtigung.
- ReplyTo: Dieses Header‑Feld gibt an, wohin der Absender Antworten erhalten möchte.
- Subject: Titel, Überschrift, Betreff. Wird häufig als Thread‑Indikator für Nachrichten verwendet, die auf andere Nachrichten antworten oder sie kommentieren.
- Date: Dieser Header gibt ein Datum (und eine Uhrzeit) an. Normalerweise ist dies das Datum, an dem die Nachricht verfasst und gesendet wurde.
- XMailer: Information über die Client‑Software des Absenders. Beispiel: X-Mailer: Aspose.Email. XMailer wird von Mail‑Clients verwendet. Verschiedene Mail‑Clients haben unterschiedliche XMailer‑Werte. Der XMailer‑Wert von MS Outlook ist Microsoft Office Outlook, Build 11.0.5510. Er wird vom Empfänger oder E‑Mail-Programm ignoriert.
Normalerweise sieht ein E‑Mail-Header etwa so aus:
Reply-To: reply@reply.com
From: sender@sender.com
To: guangzhou@guangzhoo.com
Subject: test mail
Date: 6 Mar 2006 8:2:2 +0800
X-Mailer: Aspose.Email
Um einen E‑Mail-Header anzupassen, führen Sie die folgenden Schritte aus:
- Erstellen Sie eine Instanz von dem MailMessage Klasse.
- Gib To, From, CC, Bcc, ReplyTo, Subject, Date & XMailer mit einer Instanz von MailMessage.
- Erstellen Sie eine Instanz von dem MimeHeader Klasse und gib den geheimen Header an.
- Füge den geheimen Header hinzu zum MailMessage Instanz.
Das folgende Code‑Snippet zeigt, wie man E‑Mail‑Header setzt.
Das obige Code‑Snippet erzeugt einen E‑Mail‑Header im folgenden Format. Dies kann beobachtet werden, indem man die resultierende Datei "MsgHeaders.msg" in Microsoft Outlook öffnet und dann die Eigenschaften betrachtet.
Reply-To: reply@reply.com
From: sender@sender.com
To: receiver1@receiver.com
CC: receiver2@receiver.com
BCC: receiver3@receiver.com
Subject: test mail
Date: 6 Mar 2006 8:2:2 +0800
X-Mailer: Aspose.Email
secret-header: mystery
Header an bestimmter Position einfügen
Die Add Methode von HeadersCollection Klasse fügt den Header am Ende der Sammlung ein. Es kann jedoch manchmal notwendig sein, einen Header an einer bestimmten Stelle einzufügen. In diesem Fall ist die Add Methode wird nicht helfen. Um dies zu erreichen, verwende die Insert Methode des HeadersCollection. Wenn die Sammlung Header mit demselben Namen enthält, wird dieser Header vor anderen Headern mit demselben Namen eingefügt. Das folgende Code‑Snippet zeigt, wie man einen Header an einer bestimmten Stelle einfügt.
Benutzerdefinierte Header zu E‑Mail hinzufügen
Die nachstehenden Programmbeispiele zeigen, wie ein benutzerdefinierter Header in einer E‑Mail‑Nachricht angegeben wird. Ein E‑Mail‑Header kann über die MailMessage Klasse ein. Um einen benutzerdefinierten Header in einer E‑Mail‑Nachricht festzulegen, gehen Sie wie folgt vor:
- Erstellen Sie eine Instanz von dem MailMessage Klasse.
- Geben Sie die Werte für To, From und Subject mit der MailMessage‑Instanz an.
- Fügen Sie den geheimen Header in die MailMessage Instanz.
- Erstellen Sie eine Instanz der SmtpClient‑Klasse und senden Sie die E‑Mail mit der Send‑Methode.
Das folgende Code‑Snippet zeigt, wie Sie benutzerdefinierte Header zu einer E‑Mail hinzufügen.