Помощни функции - 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() - Връща подразбиращия се Locale за 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. Aspose.Email API ви позволява да четете имейл съобщения, които имат TNEF прикачени файлове и да модифицирате тяхното съдържание. След това имейлът може да бъде запазен като обикновен имейл или в същия формат, запазвайки TNEF прикачените файлове. Тази статия показва различни примерни кодове за работа със съобщения, съдържащи TNEF прикачени файлове.
Четене на съобщение със запазени TNEF прикачени файлове
Следният кодов фрагмент ви показва как да прочетете съобщение, като запазвате TNEF прикачени файлове.
Актуализиране на ресурси в TNEF прикачен файл и запазване на TNEF формата
Следният кодов фрагмент ви показва как да актуализирате ресурси в TNEF прикачен файл и да запазите TNEF формата.
Добавяне на нови прикачени файлове към главното съобщение, съдържащо TNEF
Създаване на TNEF EML от MSG
Outlook MSG файловете понякога съдържат информация като таблици и текстови стилове, които могат да се разстроят при конвертиране към EML. Създаването на TNEF съобщения от такива MSG файлове ни позволява да запазим форматирането и дори да изпратим такива съобщения чрез имейл клиентите, като запазим форматирането.
За създаване на TNEF може да се използва следният примерен код.
Откриване дали съобщението е TNEF
Обработване на отскочени съобщения
Много често е, че съобщение, изпратено до получател, може да се отскочи по различни причини, като например невалиден адрес на получателя. API на Aspose.Email разполага с възможност за обработка на такова съобщение за проверка дали е отскочено имейл съобщение или обикновено имейл съобщение. The CheckBounced метод на MailMessage класът връща валиден резултат, ако имейл съобщението е отскочил имейл.
Тази статия показва използването на BounceResult клас, който предоставя възможност за проверка дали съобщението е отскочил имейл. Той също така дава подробна информация за получателите, предприетото действие и причината за уведомлението.
Игнориране на изключения
Библиотеката предлага 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 съобщение, което може да се постигне със съответните методи на 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