- C# .NET API pro zpracování e-mailových bounces a doručení oznámení
- Odeslání e-mailu s oznámením o doručení
- Zpracování nedoručených e-mailů
Při odesílání e-mailu chcete vědět, zda byl úspěšně doručen příjemci. Neméně důležitá je schopnost detekovat a spravovat nedoručování e-mailů, ke kterým dochází, když e-mail nelze doručit. Mohou nastat z různých důvodů, včetně neplatných e-mailových adres, plných poštovních schránek nebo problémů se serverem. Detekce těchto nedoručených zpráv je zásadní pro udržování čistého a aktuálního seznamu e-mailů a pro zajištění toho, že se vaše zprávy dostanou ke správným lidem. V tomto článku prozkoumáme, jak efektivně zvládat vracení e-mailů a oznámení o doručení v prostředí C# .NET.
C# .NET API pro zpracování e-mailových nedoručitelných zpráv a oznámení o doručení
K efektivní správě vracení e-mailů a oznámení o doručení v C# .NET budeme používat knihovnu Aspose.Email, která nabízí komplexní sadu nástrojů a funkcí pro úkoly související s e-mailem. Aspose.Email for .NET. Potenciál API můžete využít buď získáním jeho DLL prostřednictvím stáhnout nebo jeho instalací z NuGet pomocí následujícího příkazu:
PM> Install-Package Aspose.Email
Odeslání e-mailu s oznámením o doručení
Níže uvedený fragment kódu ukazuje, jak vytvořit e-mailovou zprávu a nastavit oznámení o doručení pomocí Aspose.Email. Tento kód vám umožňuje vytvořit e-mailovou zprávu, zadat adresu odesílatele a příjemce a nakonfigurovat oznámení o doručení pro úspěch a selhání. Navíc ke zprávě přidává záhlaví MIME pro komplexnější sledování. Kód provádí následující kroky:
Vytvořit novou e-mailovou zprávu: Kód začíná vytvořením nového objektu MailMessage. MailMessage je třída, která představuje zprávu EML, kterou lze odeslat.
Nastavit oznámení o doručení: Možnosti DeliveryNotificationOptions jsou nastaveny na hodnotu OnSuccess i OnFailure. To znamená, že odesílatel by chtěl obdržet potvrzení o doručení, pokud je zpráva úspěšně doručena nebo pokud se doručení nezdaří.
Přidání záhlaví MIME pro oznámení o přečtení a dispozice: Záhlaví objektu zprávy se používají k přidání záhlaví „Read-Receipt-To“ a „Disposition-Notification-To“ s e-mailem odesílatele. Tyto hlavičky vyžadují upozornění na přečtení a dispozice na e-mailovou adresu odesílatele při přijetí a zpracování e-mailu příjemcem, resp.
Nastavení klienta SMTP: Třída SmtpClient se používá k odesílání e-mailových zpráv. Vytvoří se instance této třídy se zadanými pověřeními hostitele a uživatele.
Send the Message: Nakonec je volána metoda Send objektu SmtpClient s objektem MailMessage jako argumentem pro odeslání e-mailu.
// Vytvořte zprávu
MailMessage msg = new MailMessage();
msg.From = "sender@sender.com";
msg.To = "receiver@receiver.com";
msg.Subject = "the subject of the message";
// Nastavte oznámení o doručení pro úspěšné a neúspěšné zprávy a přidejte záhlaví 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");
// Odešlete zprávu
SmtpClient client = new SmtpClient("host", "username", "password");
client.Send(msg);
Zpracování nedoručených e-mailů
Kromě zajištění úspěšného doručování e-mailů můžete využít funkce knihovny pro zpracování vrácených zpráv. Níže uvedený příklad kódu ukazuje, jak načíst a zkontrolovat stav vrácené e-mailové zprávy. Získává a zobrazuje důležité informace o vráceném e-mailu, jako je název souboru, stav nedoručení, akce, příjemce, důvod, stav a e-mailová adresa příjemce z původní zprávy. Kód provádí následující kroky:
Kód začíná vytvořením instance třídy MailMessage pro načtení e-mailové zprávy ze zadaného souboru pomocí metody Load.
Poté zkontroluje, zda byl e-mail vrácen voláním metody CheckBounced. Výsledek této operace je uložen v objektu BounceResult.
Kód poté vytiskne název souboru do konzoly a poskytne podrobné informace o zprávě prostřednictvím následujících vlastností:
výsledek.IsBounced property represents whether the email has been bounced or not.
výsledek.Akce property contains the action associated with the bounce.
výsledek.Příjemce property is indicating the recipient of the bounced email.
výsledek.Důvod property provides the reason for the email bounce.
výsledek.Stav property is representing the status of the bounce.
výsledek.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();
Závěr
V tomto článku jsme vás upozornili na význam vracení e-mailů a oznámení o doručení. Poskytli jsme také způsoby jejich manipulace podporované ukázkami kódu. Nyní máte k dispozici výkonné nástroje umožňující úspěšné doručování e-mailů a správu případných nedoručených zpráv. Začleněním těchto postupů do svých projektů můžete dosáhnout efektivní e-mailové komunikace v prostředí C# .NET a zajistit, aby se vaše zprávy dostaly k zamýšleným příjemcům.
Pro podrobnější informace nebo další funkce Aspose.Email for .NET se můžete obrátit na naši dokumentaci. V případě dotazů nebo potíží navštivte naše fórum.