E-Mail-Bounces und Zustellbenachrichtigungen

Beim Versenden einer E-Mail möchten Sie wissen, ob diese erfolgreich an den Empfänger zugestellt wurde. Ebenso wichtig ist die Fähigkeit, E-Mail-Bounces zu erkennen und zu verwalten, die auftreten, wenn eine E-Mail nicht zugestellt werden kann. Sie können verschiedene Gründe haben, darunter ungültige E-Mail-Adressen, volle Postfächer oder Serverprobleme. Das Erkennen dieser Bounces ist von entscheidender Bedeutung, um eine saubere und aktuelle E-Mail-Liste zu führen und sicherzustellen, dass Ihre Nachrichten die richtigen Personen erreichen. In diesem Artikel erfahren Sie, wie Sie E-Mail-Bounces und Zustellungsbenachrichtigungen in einer C#-.NET-Umgebung effektiv verarbeiten.

C# .NET-API zur Verarbeitung von E-Mail-Bounces und Zustellungsbenachrichtigungen

Um E-Mail-Bounces und Zustellungsbenachrichtigungen in C# .NET effizient zu verwalten, verwenden wir die Aspose.Email-Bibliothek, die einen umfassenden Satz an Tools und Funktionalitäten für E-Mail-bezogene Aufgaben bietet. Aspose.Email for .NET. Sie können das Potenzial der API nutzen, indem Sie entweder ihre DLL über Download erwerben oder sie von NuGet mit dem folgenden Befehl installieren:

PM> Install-Package Aspose.Email

Senden einer E-Mail mit Lieferbenachrichtigungen

Der folgende Codeausschnitt zeigt, wie Sie mit Aspose.Email eine E-Mail-Nachricht erstellen und Zustellungsbenachrichtigungen einrichten. Mit diesem Code können Sie eine E-Mail-Nachricht erstellen, die Absender und Empfängeradressen angeben und Zustellungsbenachrichtigungen für Erfolg und Misserfolg konfigurieren. Darüber hinaus werden der Nachricht MIME-Header hinzugefügt, um eine umfassendere Nachverfolgung zu ermöglichen. Der Code führt die folgenden Schritte aus:

  1. Erstellen Sie eine neue E-Mail-Nachricht: Der Code beginnt mit der Erstellung eines neuen MailMessage Objekts. MailMessage ist eine Klasse, die eine EML-Nachricht darstellt, die gesendet werden kann.

  2. Lieferbenachrichtigungen festlegen: Die DeliveryNotificationOptions sind sowohl auf OnSuccess als auch auf OnFailure eingestellt. Das bedeutet, dass der Absender einen Zustellungsbericht erhalten möchte, wenn die Nachricht erfolgreich zugestellt wurde oder die Zustellung fehlschlägt.

  3. Fügen Sie MIME-Header für Lese und Dispositionsbenachrichtigungen hinzu: Die Header des Nachrichtenobjekts werden verwendet, um der E-Mail des Absenders die Header „Read-Receipt-To“ und „Disposition-Notification-To“ hinzuzufügen. Diese Header fordern Lese und Dispositionsbenachrichtigungen an die E-Mail-Adresse des Absenders an, sobald die E-Mail vom Empfänger empfangen bzw. bearbeitet wird.

  4. Einrichten des SMTP-Clients: Die Klasse SmtpClient wird zum Senden von E-Mail-Nachrichten verwendet. Eine Instanz dieser Klasse wird mit den angegebenen Host und Benutzeranmeldeinformationen erstellt.

  5. Senden Sie die Nachricht: Schließlich wird die Methode Send des SmtpClient Objekts mit dem MailMessage Objekt als Argument zum Senden der E-Mail aufgerufen.

// Erstellen Sie die Nachricht
MailMessage msg = new MailMessage();
msg.From = "sender@sender.com";
msg.To = "receiver@receiver.com";
msg.Subject = "the subject of the message";

// Legen Sie Zustellungsbenachrichtigungen für erfolgreiche und fehlgeschlagene Nachrichten fest und fügen Sie die MIME-Header hinzu
msg.DeliveryNotificationOptions = DeliveryNotificationOptions.OnSuccess | DeliveryNotificationOptions.OnFailure;
msg.Headers.Add("Read-Receipt-To", "sender@sender.com");
msg.Headers.Add("Disposition-Notification-To", "sender@sender.com");

// Senden Sie die Nachricht
SmtpClient client = new SmtpClient("host", "username", "password");
client.Send(msg);

Umgang mit E-Mail-Bounces

Sie können nicht nur eine erfolgreiche E-Mail-Zustellung sicherstellen, sondern auch die Funktionen der Bibliothek für die Verarbeitung von Bounces nutzen. Das folgende Codebeispiel zeigt, wie eine zurückgesendete E-Mail-Nachricht geladen und deren Status überprüft wird. Es ruft wichtige Informationen zu einer zurückgesendeten E-Mail ab und zeigt sie an, z. B. den Dateinamen, den Bounce-Status, die Aktion, den Empfänger, den Grund, den Status und die E-Mail-Adresse des Empfängers aus der Originalnachricht. Der Code führt die folgenden Schritte aus:

  1. Der Code beginnt mit der Erstellung einer Instanz der Klasse MailMessage, um die E-Mail-Nachricht aus der angegebenen Datei mithilfe der Methode Load zu laden.

  2. Dann prüft es, ob die E-Mail zurückgesendet wurde, indem es die Methode CheckBounced aufruft. Das Ergebnis dieser Operation wird in einem BounceResult Objekt gespeichert.

  3. Anschließend druckt der Code den Dateinamen an die Konsole und stellt über die folgenden Eigenschaften detaillierte Informationen zur Nachricht bereit:

MailMessage mail = MailMessage.Load(fileName);
BounceResult result = mail.CheckBounced();
Console.WriteLine(fileName);
Console.WriteLine("IsBounced : " + result.IsBounced);
Console.WriteLine("Action : " + result.Action);
Console.WriteLine("Recipient : " + result.Recipient);
Console.WriteLine();
Console.WriteLine("Reason : " + result.Reason);
Console.WriteLine("Status : " + result.Status);
Console.WriteLine("OriginalMessage ToAddress 1: " + result.OriginalMessage.To[0].Address);
Console.WriteLine();

Abschluss

In diesem Artikel haben wir Sie auf die Bedeutung von E-Mail-Bounces und Zustellbenachrichtigungen aufmerksam gemacht. Wir haben auch Möglichkeiten für deren Handhabung bereitgestellt, die durch Codebeispiele unterstützt werden. Jetzt stehen Ihnen leistungsstarke Tools zur Verfügung, um die erfolgreiche Zustellung von E-Mails zu ermöglichen und eventuell auftretende Bounces zu verwalten. Durch die Integration dieser Vorgehensweisen in Ihre Projekte können Sie eine effektive E-Mail-Kommunikation in einer C# .NET-Umgebung erreichen und sicherstellen, dass Ihre Nachrichten ihre beabsichtigten Empfänger erreichen.

Ausführlichere Informationen oder andere Funktionen von Aspose.Email for .NET finden Sie in unserer Dokumentation. Wenn Sie Fragen haben oder auf Schwierigkeiten stoßen, besuchen Sie unser Forum.

Siehe auch