Утиліти - MailMessage
Шифрування та дешифрування повідомлень
Aspose.Email надає можливість шифрування та дешифрування електронних листів. У цій статті показано, як завантажити існуюче або нове повідомлення та зашифрувати його за допомогою MailMessage. The encrypt() і decrypt() методи повертають об’єкт MailMessage з застосованими ефектами, і про це потрібно пам’ятати під час шифрування/дешифрування повідомлень. Процес шифрування та дешифрування повідомлень включає наступні кроки:
- Створити нове повідомлення або завантажити існуюче
- Зашифрувати повідомлення за допомогою файлу сертифіката
- Надіслати повідомлення або зберегти його
- Розшифрувати повідомлення за потребою
Наступний фрагмент коду показує, як шифрувати та дешифрувати повідомлення.
Перевірка повідомлення на шифрування
Aspose.Email MailMessage клас дозволяє перевірити, чи зашифровано повідомлення. The isEncrypted властивість MailMessage дозволяє перевіряти це, як показано у наведеному прикладі коду.
Шифрування повідомлень за допомогою X509Certificate
Aspose.Email надає API для роботи з зашифрованими повідомленнями за допомогою X509Certificate:
MailMessage клас має наступні методи для роботи з шифруванням повідомлень:
- public MailMessage attachSignature(X509Certificate2 certificate, boolean detached) - Створює підписане повідомлення.
- public MailMessage attachSignature(X509Certificate2 certificate) - Створює підписане повідомлення.
- public X509Certificate2[] checkSignatureCert() - Перевіряє підпис існуючого MailMessage.
- public MailMessage decrypt(X509Certificate2 certificate)
- public MailMessage encrypt(X509Certificate2 certificate)
- public MailMessage encrypt(X509Certificate2[] certificates)
Налаштування параметрів локалі для Aspose.Email
Ви можете використати LocaleOptions клас у випадку невизначеної локалі за замовчуванням та встановлює найбільш підходящу локаль для бібліотеки Aspose Email. Він пропонує наступні методи для виконання завдання:
- getLocale() - Повертає локаль за замовчуванням для Aspose.Email.
- setLocale(Locale locale) і setLocale(String localeName) - Встановлює локаль за замовчуванням для Aspose.Email.
- clear() - Очищає локаль за замовчуванням для Aspose.Email. Буде використана локаль за замовчуванням для Java.
Наступний приклад коду демонструє, як завантажити лист з файлу, використовуючи вказані налаштування локалі:
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");
Цей код гарантує, що застосунок та бібліотека Aspose.Email використовують вказані локалі для обробки мови, країни та культурних особливостей.
Повідомлення з TNEF‑вкладеннями
Transport Neutral Encapsulation Format (TNEF) — це власний формат вкладень електронної пошти, що використовується Microsoft Outlook та Microsoft Exchange Server. API Aspose.Email дозволяє читати листи з вкладеннями TNEF та змінювати їх вміст. Після цього лист можна зберегти як звичайний лист або у тому ж форматі, зберігаючи TNEF‑вкладення. У цій статті показано різні приклади коду для роботи з листами, що містять TNEF‑вкладення.
Читання повідомлення з збереженням TNEF‑вкладень
Наступний фрагмент коду показує, як прочитати повідомлення, зберігаючи вкладення TNEF.
Оновлення ресурсів у TNEF‑вкладенні та збереження формату TNEF
Наступний фрагмент коду показує, як оновити ресурси у TNEF‑вкладенні та зберегти формат TNEF.
Додавання нових вкладень до головного повідомлення, що містить TNEF
Створення TNEF EML з MSG
MSG‑файли Outlook іноді містять інформацію, таку як таблиці та стилі тексту, які можуть бути порушені при конвертації у EML. Створення TNEF‑повідомлень з таких MSG‑файлів дозволяє зберегти форматування та навіть надсилати такі повідомлення через поштові клієнти, зберігаючи форматування.
Для створення TNEF можна використати наступний приклад коду.
Виявлення, чи є повідомлення TNEF
Обробка повернутих повідомлень
Дуже часто повідомлення, надіслане одержувачу, може повернутися (bounce) з будь‑якої причини, наприклад через недійсну адресу отримувача. API Aspose.Email має можливість обробляти таке повідомлення для перевірки, чи є воно повернутим електронним листом чи звичайним листом. The CheckBounced метод MailMessage клас повертає коректний результат, якщо електронне повідомлення є bounced‑листом.
У цій статті показано використання BounceResult клас, який забезпечує можливість перевірки, чи є повідомлення bounced‑листом. Він також надає детальну інформацію про одержувачів, вжиті дії та причину сповіщення.
Ігнорувати виключення
Бібліотека пропонує an ExceptionManager клас для впровадження можливості ігнорування виключень у функціональність вашого застосунку. Нижче наведено фрагмент коду, який демонструє, як встановити зворотний виклик для обробки виключень:
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");
}
});
Або використайте альтернативу:
ExceptionManager.setIgnoreAll(true);
Також ви можете встановити зворотний виклик для журналу ігнорованих виключень:
ExceptionManager.setIgnoreExceptionsLogHandler( new IgnoreExceptionsLogCallback() {
public void invoke(String message) {
System.out.println("=== EXCEPTION IGNORED === " + message);
}
});
Користувач буде повідомлений, що виключення можна ігнорувати, за допомогою повідомлення про помилку. Наприклад:
Виключення у повідомленні:
AsposeArgumentException: properties should not be empty.
Якщо ви хочете ігнорувати виключення і продовжити виконання, ви можете використати:
ExceptionManager.getIgnoreList().add("MailMessage\\Load\\DecodeTnefAttachment\\64149867-679e-4645-9af0-d46566cae598")
Invalid TNEF Attachment will be interpreted as regular attachment.
Байєсовий аналізатор спаму
Aspose.Email надає можливість фільтрації електронної пошти за допомогою байєсового аналізатора спаму. Він надає the SpamAnalyzer клас для цієї мети. У цій статті показано, як навчити фільтр розрізняти спам та звичайні електронні листи на основі бази слів.
Отримання преамбули та епіграфа з EML‑повідомлень
У форматі MIME преамбуль — це текст, який розташовується після заголовків і перед першою межою multipart. Епіграф — це текст, який розташовується після останньої межі і перед кінцем повідомлення. Цей текст зазвичай не видимий користувачам у поштових клієнтах, проте деякі реалізації MIME можуть використовувати його для вставки приміток одержувачам, які читають повідомлення за допомогою програм, несумісних з MIME.
Наступний фрагмент коду показує, як отримати преамбулу та епіграф з EML‑повідомлення, що може бути здійснено за допомогою відповідних методів of the MailMessage клас:
- setPreamble(String value) - Отримує або встановлює текст преамбули.
- setEpilogue(String value) - Отримує або встановлює текст епіграфа.
// Gets or sets a preamble text.
public String getPreamble, setPreamble
// Gets or sets an epilogue text.
public String getEpilogue, setEpilogue