Rebonds d'e-mails et notifications de livraison

Lors de l’envoi d’un e-mail, vous souhaitez savoir s’il a été remis avec succès au destinataire. La capacité de détecter et de gérer les rebonds d’e-mails, qui se produisent lorsqu’un e-mail ne peut pas être livré, est tout aussi importante. Cela peut se produire pour diverses raisons, notamment des adresses e-mail invalides, des boîtes aux lettres pleines ou des problèmes de serveur. La détection de ces rebonds est essentielle pour maintenir une liste de diffusion propre et à jour et garantir que vos messages parviennent aux bonnes personnes. Dans cet article, nous explorerons comment gérer efficacement les rebonds d’e-mails et les notifications de livraison dans un environnement C# .NET.

API C# .NET pour gérer les rebonds d’e-mails et les notifications de livraison

Pour gérer efficacement les rebonds d’e-mails et les notifications de livraison en C# .NET, nous utiliserons la bibliothèque Aspose.Email, qui offre un ensemble complet d’outils et de fonctionnalités pour les tâches liées au courrier électronique. Aspose.Email for .NET. Vous pouvez utiliser le potentiel de l’API en acquérant sa DLL via télécharger ou en l’installant à partir de NuGet à l’aide de la commande suivante :

PM> Install-Package Aspose.Email

Envoi d’un e-mail avec des notifications de livraison

L’extrait de code ci-dessous montre comment créer un e-mail et configurer des notifications de livraison à l’aide d’Aspose.Email. Ce code vous permet de créer un message électronique, de spécifier les adresses de l’expéditeur et du destinataire et de configurer les notifications de livraison en cas de réussite ou d’échec. De plus, il ajoute des en-têtes MIME au message pour un suivi plus complet. Le code effectue les étapes suivantes :

  1. Créer un nouveau message électronique : le code commence par créer un nouvel objet MailMessage. MailMessage est une classe qui représente un message eml pouvant être envoyé.

  2. Définir les notifications de livraison : les DeliveryNotificationOptions sont définies sur OnSuccess et OnFailure. Cela signifie que l’expéditeur souhaite recevoir un accusé de réception si le message est livré avec succès ou si la livraison échoue.

  3. Ajouter des en-têtes MIME pour les notifications de lecture et de disposition : les en-têtes de l’objet de message sont utilisés pour ajouter des en-têtes “Read-Receipt-To” et “Disposition-Notification-To” avec l’e-mail de l’expéditeur. Ces en-têtes demandent des notifications de lecture et de disposition à l’adresse e-mail de l’expéditeur lors de la réception et du traitement de l’e-mail par le destinataire, respectivement.

  4. Configurer le client SMTP : la classe SmtpClient est utilisée pour envoyer des messages électroniques. Une instance de cette classe est créée avec les informations d’identification d’hôte et d’utilisateur spécifiées.

  5. Envoyer le message : Enfin, la méthode Send de l’objet SmtpClient est appelée avec l’objet MailMessage comme argument pour envoyer l’e-mail.

// Créer le message
MailMessage msg = new MailMessage();
msg.From = "sender@sender.com";
msg.To = "receiver@receiver.com";
msg.Subject = "the subject of the message";

// Définir les notifications de livraison pour les messages de réussite et d'échec et ajouter les en-têtes MIME
msg.DeliveryNotificationOptions = DeliveryNotificationOptions.OnSuccess | DeliveryNotificationOptions.OnFailure;
msg.Headers.Add("Read-Receipt-To", "sender@sender.com");
msg.Headers.Add("Disposition-Notification-To", "sender@sender.com");

// Envoyer le message
SmtpClient client = new SmtpClient("host", "username", "password");
client.Send(msg);

Gestion des rebonds d’e-mails

En plus d’assurer une livraison réussie des e-mails, vous pouvez tirer parti des fonctionnalités de la bibliothèque pour gérer les rebonds. L’exemple de code ci-dessous montre comment charger et vérifier l’état d’un e-mail renvoyé. Il récupère et affiche des informations importantes sur un e-mail renvoyé, telles que le nom du fichier, l’état du rebond, l’action, le destinataire, la raison, le statut et l’adresse e-mail du destinataire du message d’origine. Le code effectue les étapes suivantes :

  1. Le code commence par créer une instance de la classe MailMessage pour charger le message électronique à partir du fichier spécifié à l’aide de la méthode Load.

  2. Ensuite, il vérifie si l’e-mail a été renvoyé en appelant la méthode CheckBounced. Le résultat de cette opération est stocké dans un objet BounceResult.

  3. Le code procède ensuite à l’impression du nom de fichier sur la console, fournissant des informations détaillées sur le message via les propriétés suivantes :

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

Conclusion

Dans cet article, nous avons attiré votre attention sur l’importance des rebonds d’e-mails et des notifications de livraison. Nous avons également fourni des moyens de leur gestion pris en charge par des exemples de code. Vous disposez désormais d’outils puissants pour permettre une livraison réussie des e-mails et gérer les éventuels rebonds qui peuvent survenir. En intégrant ces pratiques dans vos projets, vous pouvez parvenir à une communication par courrier électronique efficace dans un environnement C# .NET et garantir que vos messages parviennent à leurs destinataires prévus.

Pour des informations plus détaillées ou d’autres fonctionnalités de Aspose.Email for .NET, vous pouvez consulter notre documentation. Si vous avez des questions ou rencontrez des difficultés, visitez notre forum.

Voir également