Funkcje pomocnicze - MailMessage
Szyfrowanie i odszyfrowywanie wiadomości
Aspose.Email udostępnia możliwość szyfrowania i odszyfrowywania wiadomości e‑mail. Ten temat pokazuje, jak istniejącą lub nową wiadomość można załadować i zaszyfrować przy użyciu MailMessage. The encrypt() i decrypt() metody zwracają obiekt MailMessage z zastosowanymi efektami i należy o nie zadbać podczas szyfrowania/odszyfrowywania wiadomości. Proces szyfrowania i odszyfrowywania wiadomości obejmuje następujące kroki:
- Utwórz nową wiadomość lub załaduj istniejącą
- Zaszyfruj wiadomość przy użyciu pliku certyfikatu
- Wyślij wiadomość lub zapisz ją
- Odszyfruj wiadomość w razie potrzeby
Poniższy fragment kodu pokazuje, jak szyfrować i odszyfrowywać wiadomości.
Sprawdzanie, czy wiadomość jest zaszyfrowana
Aspose.Email MailMessage klasa umożliwia sprawdzenie, czy wiadomość jest zaszyfrowana, czy nie. The isEncrypted właściwość MailMessage umożliwia sprawdzenie tego, co przedstawiono w poniższym przykładzie kodu.
Szyfrowanie wiadomości przy użyciu X509Certificate
Aspose.Email udostępnia API do pracy z zaszyfrowanymi wiadomościami przy użyciu X509Certificate:
MailMessage klasa posiada następujące metody do pracy z szyfrowaniem wiadomości:
- public MailMessage attachSignature(X509Certificate2 certificate, boolean detached) - Tworzy podpisaną wiadomość.
- public MailMessage attachSignature(X509Certificate2 certificate) - Tworzy podpisaną wiadomość.
- public X509Certificate2[] checkSignatureCert() - Sprawdza podpis istniejącej wiadomości MailMessage.
- public MailMessage decrypt(X509Certificate2 certificate)
- public MailMessage encrypt(X509Certificate2 certificate)
- public MailMessage encrypt(X509Certificate2[] certificates)
Konfiguracja opcji regionalnych dla Aspose.Email
Możesz użyć LocaleOptions klasa w przypadku nierozpoznanego domyślnego ustawienia regionalnego i ustawia najbardziej odpowiednie ustawienie regionalne dla biblioteki Aspose Email. Oferuje następujące metody wykonujące to zadanie:
- getLocale() - Zwraca domyślne ustawienie regionalne dla Aspose.Email.
- setLocale(Locale locale) i setLocale(String localeName) - Ustaw domyślne ustawienie regionalne dla Aspose.Email.
- clear() - Czyści domyślne ustawienie regionalne dla Aspose.Email. Zostanie użyte domyślne ustawienie regionalne dla Java.
Poniższy przykład kodu demonstruje, jak załadować wiadomość e‑mail z pliku, używając określonych ustawień regionalnych:
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");
Ten kod zapewnia, że aplikacja i biblioteka Aspose.Email używają określonych ustawień regionalnych do obsługi języka, kraju i konwencji kulturowych.
Wiadomości e‑mail zawierające załączniki TNEF
Transport Neutral Encapsulation Format (TNEF) jest własnościowym formatem załączników e‑mail używanym przez Microsoft Outlook i Microsoft Exchange Server. API Aspose.Email umożliwia odczyt wiadomości e‑mail z załącznikami TNEF i modyfikację ich zawartości. E‑mail może następnie zostać zapisany jako zwykła wiadomość lub w tym samym formacie, zachowując załączniki TNEF. Ten artykuł prezentuje różne przykłady kodu dotyczące pracy z wiadomościami zawierającymi załączniki TNEF.
Czytanie wiadomości z zachowaniem załączników TNEF
Poniższy fragment kodu pokazuje, jak odczytać wiadomość zachowując załączniki TNEF.
Aktualizacja zasobów w załączniku TNEF i zachowanie formatu TNEF
Poniższy fragment kodu pokazuje, jak zaktualizować zasoby w załączniku TNEF i zachować format TNEF.
Dodawanie nowych załączników do głównej wiadomości zawierającej TNEF
Tworzenie TNEF EML z MSG
Pliki Outlook MSG czasami zawierają informacje, takie jak tabele i style tekstu, które mogą zostać zaburzone podczas konwersji do EML. Tworzenie wiadomości TNEF z takich plików MSG pozwala zachować formatowanie i nawet wysłać takie wiadomości za pośrednictwem klientów poczty elektronicznej, zachowując formatowanie.
Aby utworzyć TNEF, można użyć poniższego przykładu kodu.
Wykrywanie, czy wiadomość jest TNEF
Przetwarzanie Odrzuconych Wiadomości
Bardzo często zdarza się, że wiadomość wysłana do odbiorcy może zostać odrzucona z dowolnego powodu, takiego jak nieprawidłowy adres odbiorcy. API Aspose.Email ma możliwość przetwarzania takiej wiadomości w celu sprawdzenia, czy jest to odrzucona wiadomość e‑mail, czy zwykła wiadomość e‑mail. Ta Sprawdź Odbite metoda MailMessage klasa zwraca prawidłowy wynik, jeśli wiadomość e‑mail jest odrzuconą wiadomością.
Ten artykuł pokazuje użycie BounceResult klasa, która zapewnia możliwość sprawdzenia, czy wiadomość jest odrzuconym e‑mailem (bounce). Dostarcza także szczegółowe informacje o odbiorcach, podjętych działaniach i przyczynie powiadomienia.
Ignoruj wyjątki
Biblioteka oferuje ExceptionManager klasa umożliwiająca implementację możliwości ignorowania wyjątków w funkcjonalności Twojej aplikacji. Poniższy fragment kodu demonstruje, jak ustawić wywołanie zwrotne do obsługi wyjątków:
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");
}
});
Lub użyj alternatywy:
ExceptionManager.setIgnoreAll(true);
Ponadto możesz ustawić wywołanie zwrotne dla zignorowanego logu wyjątków:
ExceptionManager.setIgnoreExceptionsLogHandler( new IgnoreExceptionsLogCallback() {
public void invoke(String message) {
System.out.println("=== EXCEPTION IGNORED === " + message);
}
});
Użytkownik zostanie poinformowany, że wyjątek można zignorować komunikatem o błędzie. Na przykład:
Wyjątek w wiadomości:
AsposeArgumentException: properties should not be empty.
Jeśli chcesz zignorować wyjątek i kontynuować, możesz użyć:
ExceptionManager.getIgnoreList().add("MailMessage\\Load\\DecodeTnefAttachment\\64149867-679e-4645-9af0-d46566cae598")
Invalid TNEF Attachment will be interpreted as regular attachment.
Analizator Spamu Bayesa
Aspose.Email udostępnia funkcję filtrowania e‑mail przy użyciu analizatora spamu Bayesa. Zapewnia on SpamAnalyzer klasa do tego celu. Ten artykuł pokazuje, jak wytrenować filtr, aby odróżniał spam od zwykłych wiadomości e‑mail na podstawie bazy danych słów.
Uzyskiwanie Preambuły i Epilogu z Wiadomości EML
W formacie MIME, preambuła to tekst, który pojawia się po nagłówkach i przed pierwszą granicą multipart. Epilog to tekst, który pojawia się po ostatniej granicy i przed końcem wiadomości. Tekst ten zazwyczaj nie jest widoczny dla użytkowników w programach pocztowych, ale niektóre implementacje MIME mogą używać go do wstawiania notatek dla odbiorców, którzy czytają wiadomość przy użyciu programów niezgodnych z MIME.
Poniższy fragment kodu pokazuje, jak uzyskać preambułę i epilog z wiadomości EML, co można osiągnąć przy użyciu odpowiednich metod MailMessage klasa:
- setPreamble(String value) - Pobiera lub ustawia tekst preambuły.
- setEpilogue(String value) - Pobiera lub ustawia tekst epilogu.
// Gets or sets a preamble text.
public String getPreamble, setPreamble
// Gets or sets an epilogue text.
public String getEpilogue, setEpilogue