Užitečné funkce – MailMessage

Šifrování a dešifrování zpráv

Aspose.Email poskytuje možnost šifrovat a dešifrovat e‑mailové zprávy. Tento článek ukazuje, jak lze načíst existující nebo novou zprávu a zašifrovat ji pomocí MailMessage. Třída encrypt() a decrypt() metody vrací objekt MailMessage pro aplikované efekty a je třeba s ním zacházet opatrně při šifrování/dešifrování zpráv. Šifrování a dešifrování zpráv zahrnuje následující kroky:

  1. Vytvořit novou zprávu nebo načíst existující
  2. Zašifrovat zprávu pomocí souboru certifikátu
  3. Odeslat zprávu nebo ji uložit
  4. Dešifrovat zprávu podle potřeby

Následující úryvek kódu ukazuje, jak šifrovat a dešifrovat zprávy.

Kontrola šifrování zprávy

Aspose.Email MailMessage třída umožňuje kontrolovat, zda je zpráva zašifrovaná nebo ne. isEncrypted vlastnost MailMessage umožňuje tuto kontrolu, jak je ukázáno v následujícím ukázkovém kódu.

Šifrování zprávy s X509Certificate

Aspose.Email poskytuje API pro práci s šifrovanými zprávami pomocí X509Certificate:

MailMessage třída má následující metody pro práci s šifrováním zpráv:

Nastavit možnosti locale pro Aspose.Email

Můžete použít LocaleOptions třída pro případ neznámého výchozího locale a nastaví nejvhodnější locale pro knihovnu Aspose Email. Nabízí následující metody pro provedení úkolu:

Následující ukázka kódu demonstruje, jak načíst e‑mailovou zprávu ze souboru s použitím specifikovaných nastavení locale:

final Locale locale = new Locale("en", "DE");
Locale.setDefault(locale);

// set Locale for Aspose Email lib
LocaleOptions.setLocale("en-US");
// or
//LocaleOptions.setLocale(new Locale("en", "US"));

MailMessage.load("document.msg");

Tento kód zajišťuje, že aplikace a knihovna Aspose.Email používají určené locale pro zpracování jazykových, zeměpisných a kulturních konvencí.

E‑mailové zprávy obsahující TNEF přílohy

Transport Neutral Encapsulation Format (TNEF) je proprietární formát e‑mailových příloh používaný Microsoft Outlook a Microsoft Exchange Server. API Aspose.Email vám umožňuje číst e‑mailové zprávy s TNEF přílohami a měnit jejich obsah. E‑mail pak může být uložen jako běžný e‑mail nebo ve stejném formátu se zachováním TNEF příloh. Tento článek ukazuje různé ukázky kódu pro práci se zprávami obsahujícími TNEF přílohy.

Čtení zprávy se zachováním TNEF příloh

Následující úryvek kódu ukazuje, jak číst zprávu při zachování TNEF příloh.

Aktualizace zdrojů v TNEF příloze a zachování formátu TNEF

Následující úryvek kódu ukazuje, jak aktualizovat zdroje v TNEF příloze a zachovat formát TNEF.

Přidání nových příloh do hlavní zprávy obsahující TNEF

Vytvoření TNEF EML ze souboru MSG

Outlook MSG soubory někdy obsahují informace, jako jsou tabulky a styly textu, které se mohou při převodu do EML narušit. Vytváření TNEF zpráv z takových MSG souborů nám umožňuje zachovat formátování a dokonce odesílat takové zprávy prostřednictvím e‑mailových klientů se zachovaným formátováním. 

Pro vytvoření TNEF lze použít následující ukázkový kód.

Detekovat, zda je zpráva TNEF

Zpracování odražených zpráv

Je velmi běžné, že zpráva odeslaná příjemci může být odražena z jakéhokoli důvodu, například kvůli neplatné adrese příjemce. API Aspose.Email má schopnost takovou zprávu zpracovat a zkontrolovat, zda se jedná o odražený e‑mail nebo běžnou e‑mailovou zprávu. The Zkontrolovat odrazy metoda třídy MailMessage třída vrací platný výsledek, pokud je e‑mailová zpráva odražený e‑mail.

Tento článek ukazuje použití BounceResult třída poskytující schopnost kontrolovat, zda je zpráva odrazený e‑mail. Dále poskytuje podrobné informace o příjemcích, provedené akci a důvodu oznámení.

Ignorovat výjimky

Knihovna nabízí ExceptionManager třída pro implementaci schopnosti ignorovat výjimky ve funkčnosti vaší aplikace. Níže uvedený úryvek kódu ukazuje, jak nastavit zpětné volání pro zpracování výjimek:

 ExceptionManager.setIgnoreExceptionsHandler( new IgnoreExceptionsCallback() {

   //exception path: {Module}\{Method}\{Action}\{GUID}

   //example: MailMessage\Load\DecodeTnefAttachment\64149867-679e-4645-9af0-d46566cae598

   public boolean invoke(AsposeException ex, String path) {

       //Ignore all exceptions on MailMessage.Load

       return path.equals("MailMessage\\Load");

   }

});

Nebo použijte alternativu:

 ExceptionManager.setIgnoreAll(true);

Také můžete nastavit zpětné volání pro ignorovaný log výjimek:

ExceptionManager.setIgnoreExceptionsLogHandler( new IgnoreExceptionsLogCallback() {

   public void invoke(String message) {

        System.out.println("=== EXCEPTION IGNORED === " + message);

   }

});

Uživatel bude informován, že výjimku lze ignorovat chybovou zprávou. Například:

Výjimka ve zprávě:

AsposeArgumentException: properties should not be empty.

Pokud chcete ignorovat výjimku a chcete pokračovat dál, můžete použít:

ExceptionManager.getIgnoreList().add("MailMessage\\Load\\DecodeTnefAttachment\\64149867-679e-4645-9af0-d46566cae598")

Invalid TNEF Attachment will be interpreted as regular attachment.

Bayesův spamový analyzátor

Aspose.Email poskytuje možnost filtrování e‑mailů pomocí Bayesova spamového analyzátoru. Poskytuje the SpamAnalyzer třída pro tento účel. Tento článek ukazuje, jak natrénovat filtr, aby rozlišoval mezi spamem a běžnými e‑maily na základě databáze slov.

Získání preambuly a epilogu ze zpráv EML

Ve formátu MIME je preamble text, který se objevuje po hlavičkách a před první hranicí multipartu. epilogue je text, který se objeví po poslední hranici a před koncem zprávy. Tento text je obvykle uživatelům v poštovních čtečkách neviditelný, ale některé implementace MIME jej mohou použít k vložení poznámek pro příjemce, kteří čtou zprávu pomocí programů, které nevyhovují MIME.

Následující úryvek kódu ukazuje, jak získat preambuli a epilog ze zprávy EML, což lze dosáhnout pomocí odpovídajících metod MailMessage třída:

// Gets or sets a preamble text.
public String getPreamble, setPreamble

// Gets or sets an epilogue text.
public String getEpilogue, setEpilogue