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:
- Vytvořit novou zprávu nebo načíst existující
- Zašifrovat zprávu pomocí souboru certifikátu
- Odeslat zprávu nebo ji uložit
- 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:
- public MailMessage attachSignature(X509Certificate2 certificate, boolean detached) - Vytvoří podepsanou zprávu.
- public MailMessage attachSignature(X509Certificate2 certificate) - Vytvoří podepsanou zprávu.
- public X509Certificate2[] checkSignatureCert() - Kontroluje podpis existující MailMessage.
- public MailMessage decrypt(X509Certificate2 certificate)
- public MailMessage encrypt(X509Certificate2 certificate)
- public MailMessage encrypt(X509Certificate2[] certificates)
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:
- getLocale() - Vrací výchozí Locale pro Aspose.Email.
- setLocale(Locale locale) a setLocale(String localeName) - Nastaví výchozí locale pro Aspose.Email.
- clear() - Vymaže výchozí locale pro Aspose.Email. Bude použito výchozí locale pro Javu.
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:
- setPreamble(String value) - Získá nebo nastaví text preambule.
- setEpilogue(String value) - Získá nebo nastaví text epilogu.
// Gets or sets a preamble text.
public String getPreamble, setPreamble
// Gets or sets an epilogue text.
public String getEpilogue, setEpilogue