E-mailová upozornění a oznámení o doručení

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:

  1. 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.

  2. 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ří.

  3. 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.

  4. 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.

  5. 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:

  1. 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.

  2. Poté zkontroluje, zda byl e-mail vrácen voláním metody CheckBounced. Výsledek této operace je uložen v objektu BounceResult.

  3. Kód poté vytiskne název souboru do konzoly a poskytne podrobné informace o zprávě prostřednictvím následujících vlastností:

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.

Viz také