- C# .NET API för att hantera e-postavvisningar och leveransmeddelanden
- Skicka ett e-postmeddelande med leveransaviseringar
- Hantera e-postavvisningar
När du skickar ett e-postmeddelande vill du veta om det har levererats till mottagaren. Lika viktigt är förmågan att upptäcka och hantera e-postavvisningar, som uppstår när ett e-postmeddelande inte kan levereras. De kan hända av olika anledningar, inklusive ogiltiga e-postadresser, fulla brevlådor eller serverproblem. Att upptäcka dessa studsar är avgörande för att upprätthålla en ren och uppdaterad e-postlista och för att säkerställa att dina meddelanden når rätt personer. I den här artikeln kommer vi att utforska hur man effektivt hanterar e-postavvisningar och leveransmeddelanden i C# .NET-miljö.
C# .NET API för att hantera e-postavvisningar och leveransmeddelanden
För att effektivt hantera e-postavvisningar och leveransaviseringar i C# .NET kommer vi att använda Aspose.Email-biblioteket, som erbjuder en omfattande uppsättning verktyg och funktioner för e-postrelaterade uppgifter. Aspose.Email för .NET. Du kan använda API:s potential genom att antingen skaffa dess DLL genom download eller installera den från NuGet med följande kommando:
PM> Install-Package Aspose.Email
Skicka ett e-postmeddelande med leveransaviseringar
Kodavsnittet nedan visar hur man skapar ett e-postmeddelande och ställer in leveransaviseringar med Aspose.Email. Den här koden låter dig skapa ett e-postmeddelande, ange avsändarens och mottagaradresserna och konfigurera leveransaviseringar för framgång och misslyckande. Dessutom lägger den till MIME-rubriker till meddelandet för mer omfattande spårning. Koden utför följande steg:
Skapa ett nytt e-postmeddelande: Koden börjar med att skapa ett nytt MailMessage-objekt. MailMessage är en klass som representerar ett eml-meddelande som kan skickas.
Ställ in leveransaviseringar: DeliveryNotificationOptions är inställda på både OnSuccess och OnFailure. Det betyder att avsändaren vill få en leveransrapport om meddelandet levereras framgångsrikt eller om leveransen misslyckas.
Lägg till MIME-rubriker för läs- och dispositionsaviseringar: Meddelandeobjektets rubriker används för att lägga till rubriker “Read-Receipt-To” och “Disposition-Notification-To” med avsändarens e-post. Dessa rubriker begär läs- och dispositionsmeddelanden till avsändarens e-postadress vid mottagande och hantering av e-postmeddelandet av mottagaren.
Konfigurera SMTP-klienten: Klassen SmtpClient används för att skicka e-postmeddelanden. En instans av den här klassen skapas med de angivna värd- och användaruppgifterna.
Skicka meddelandet: Slutligen anropas metoden Send för SmtpClient-objektet med MailMessage-objektet som ett argument för att skicka e-postmeddelandet.
// Skapa meddelandet
MailMessage msg = new MailMessage();
msg.From = "sender@sender.com";
msg.To = "receiver@receiver.com";
msg.Subject = "the subject of the message";
// Ställ in leveransaviseringar för framgång och misslyckade meddelanden och Lägg till MIME-rubriker
msg.DeliveryNotificationOptions = DeliveryNotificationOptions.OnSuccess | DeliveryNotificationOptions.OnFailure;
msg.Headers.Add("Read-Receipt-To", "sender@sender.com");
msg.Headers.Add("Disposition-Notification-To", "sender@sender.com");
// Skicka meddelandet
SmtpClient client = new SmtpClient("host", "username", "password");
client.Send(msg);
Hantera e-postavvisningar
Förutom att säkerställa framgångsrik e-postleverans kan du utnyttja bibliotekets funktioner för att hantera studsar. Kodexemplet nedan visar hur man laddar och kontrollerar statusen för ett avvisat e-postmeddelande. Den hämtar och visar viktig information om ett avvisat e-postmeddelande, såsom filnamn, avvisningsstatus, åtgärd, mottagare, orsak, status och e-postadressen till mottagaren från det ursprungliga meddelandet. Koden utför följande steg:
Koden börjar med att skapa en instans av klassen MailMessage för att ladda e-postmeddelandet från den angivna filen med metoden Load.
Sedan kontrollerar den om e-postmeddelandet har studsat genom att anropa metoden CheckBounced. Resultatet av denna operation lagras i ett BounceResult-objekt.
Koden fortsätter sedan med att skriva ut filnamnet till konsolen som tillhandahåller detaljerad information om meddelandet genom följande egenskaper:
resultat.IsBounced property represents whether the email has been bounced or not.
resultat.Handling property contains the action associated with the bounce.
resultat.Mottagare property is indicating the recipient of the bounced email.
resultat.Anledning property provides the reason for the email bounce.
resultat.Status property is representing the status of the bounce.
result.OriginalMessage.To[0].Address property contains the email address of the recipient from the original message.
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();
Slutsats
I den här artikeln har vi uppmärksammat dig på betydelsen av e-postavvisningar och leveransaviseringar. Vi tillhandahöll också sätt att hantera dem med stöd av kodexempel. Nu har du kraftfulla verktyg till ditt förfogande för att möjliggöra framgångsrik leverans av e-postmeddelanden och för att hantera eventuella studsar som kan uppstå. Genom att införliva dessa metoder i dina projekt kan du uppnå effektiv e-postkommunikation i en C# .NET-miljö och säkerställa att dina meddelanden når sina avsedda mottagare.
För mer detaljerad information eller andra funktioner i Aspose.Email for .NET kan du vända dig till vår dokumentation. Om du har frågor eller stöter på några problem, besök vårt forum.