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:

  1. Utwórz nową wiadomość lub załaduj istniejącą
  2. Zaszyfruj wiadomość przy użyciu pliku certyfikatu
  3. Wyślij wiadomość lub zapisz ją
  4. 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:

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:

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:

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

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