Hulpmiddelen - MailMessage

Berichten versleutelen en ontcijferen

Aspose.Email biedt de mogelijkheid om e‑mailberichten te versleutelen en te ontcijferen. Dit onderwerp toont hoe een bestaand of nieuw bericht kan worden geladen en versleuteld met behulp van MailMessage. De encrypt() en decrypt() methoden retourneren het MailMessage-object voor de toegepaste effecten en moeten in acht worden genomen tijdens het versleutelen/ontcijferen van berichten. Het versleutelen en ontcijferen van berichten omvat de volgende stappen:

  1. Maak een nieuw bericht aan of laad een bestaand bericht
  2. Versleutel het bericht met het certificaatbestand
  3. Verzend het bericht of sla het op
  4. Ontcijfer het bericht zoals vereist

Het volgende codefragment laat zien hoe je berichten kunt versleutelen en ontcijferen.

Controleren of een bericht versleuteld is

Aspose.Email MailMessage klasse maakt het mogelijk een bericht te controleren of het versleuteld is of niet. De isEncrypted eigenschap van MailMessage maakt het mogelijk dit te controleren zoals getoond in het volgende codevoorbeeld.

Berichtversleuteling met X509Certificate

Aspose.Email biedt de API voor het werken met versleutelde berichten met X509Certificate:

MailMessage klasse heeft de volgende methoden om met berichtversleuteling te werken:

Locale‑opties configureren voor Aspose.Email

U kunt gebruiken LocaleOptions klasse voor het geval dat de standaardlocale niet herkend wordt en stelt de meest geschikte locale in voor de Aspose Email‑bibliotheek. Het biedt de volgende methoden om de taak uit te voeren:

Het volgende codevoorbeeld toont hoe een mailbericht uit een bestand kan worden geladen met de opgegeven locale‑instellingen:

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");

Deze code zorgt ervoor dat de applicatie en de Aspose.Email‑bibliotheek de opgegeven locale gebruiken voor het afhandelen van taal-, land‑ en culturele conventies.

MailMessages met TNEF‑bijlagen

Transport Neutral Encapsulation Format (TNEF) is een propriëtair e‑mailbijlage‑formaat dat wordt gebruikt door Microsoft Outlook en Microsoft Exchange Server. De Aspose.Email‑API stelt je in staat om e‑mailberichten met TNEF‑bijlagen te lezen en hun inhoud te wijzigen. De e‑mail kan vervolgens worden opgeslagen als een gewone e‑mail of in hetzelfde formaat, waarbij TNEF‑bijlagen behouden blijven. Dit artikel toont verschillende codevoorbeelden voor het werken met berichten die TNEF‑bijlagen bevatten.

Een bericht lezen door TNEF‑bijlagen te behouden

Het volgende codefragment toont hoe je een bericht kunt lezen terwijl TNEF‑bijlagen behouden blijven.

Bronnen bijwerken in een TNEF‑bijlage en het TNEF‑formaat behouden

Het volgende codefragment toont hoe je bronnen in een TNEF‑bijlage kunt bijwerken en het TNEF‑formaat kunt behouden.

Nieuwe bijlagen toevoegen aan hoofdbericht dat TNEF bevat

TNEF‑EML maken vanuit MSG

Outlook‑MSG’s bevatten soms informatie zoals tabellen en tekststijlen die verstoord kunnen raken bij conversie naar EML. Het aanmaken van TNEF‑berichten uit dergelijke MSG‑bestanden maakt het mogelijk de opmaak te behouden en zelfs zulke berichten via e‑mailclients te verzenden met behoud van de opmaak. 

Om de TNEF te maken, kan de volgende voorbeeldcode worden gebruikt.

Detecteren of een bericht TNEF is

Verwerken van teruggekaatste berichten

Het komt heel vaak voor dat een naar een ontvanger verzonden bericht om welke reden dan ook kan terugkeren, bijvoorbeeld vanwege een ongeldig e-mailadres van de ontvanger. Aspose.Email API heeft de mogelijkheid om zo’n bericht te verwerken om te controleren of het een teruggekaatst e‑mailbericht is of een regulier e‑mailbericht. De CheckBounced methode van de MailMessage klasse retourneert een geldig resultaat als het e‑mailbericht een bounce‑e‑mail is.

Dit artikel toont het gebruik van BounceResult klasse die de mogelijkheid biedt om te controleren of een bericht een bounce‑e‑mail is. Het geeft bovendien gedetailleerde informatie over de ontvangers, ondernomen actie en de reden voor de notificatie.

Uitzonderingen negeren

De bibliotheek biedt een ExceptionManager klasse om de mogelijkheid om uitzonderingen te negeren in je applicatiefunctie te implementeren. De codefragment hieronder toont hoe je een callback instelt om uitzonderingen af te handelen:

 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");

   }

});

Of gebruik een alternatief:

 ExceptionManager.setIgnoreAll(true);

Daarnaast kun je een callback instellen voor het loggen van genegeerde uitzonderingen:

ExceptionManager.setIgnoreExceptionsLogHandler( new IgnoreExceptionsLogCallback() {

   public void invoke(String message) {

        System.out.println("=== EXCEPTION IGNORED === " + message);

   }

});

De gebruiker wordt geïnformeerd dat de uitzondering kan worden genegeerd via een foutmelding. Bijvoorbeeld:

Uitzondering in bericht:

AsposeArgumentException: properties should not be empty.

Als je een uitzondering wilt negeren en verder wilt gaan, kun je het volgende gebruiken:

ExceptionManager.getIgnoreList().add("MailMessage\\Load\\DecodeTnefAttachment\\64149867-679e-4645-9af0-d46566cae598")

Invalid TNEF Attachment will be interpreted as regular attachment.

Bayesiaanse Spam Analyzer

Aspose.Email biedt de mogelijkheid tot e‑mailfiltering met behulp van de Bayes‑spam-analyzer. Het biedt de SpamAnalyzer klasse voor dit doel. Dit artikel laat zien hoe je de filter traint om spam en reguliere e‑mails te onderscheiden op basis van de woorden‑database.

Verkrijgen van preambule en epiloog uit EML‑berichten

In het MIME‑formaat is de preambule de tekst die verschijnt na de headers en vóór de eerste multipart‑grens. De epiloog is de tekst die verschijnt na de laatste grens en vóór het einde van het bericht. Deze tekst is meestal niet zichtbaar voor gebruikers in e‑mailclients, maar sommige MIME‑implementaties kunnen deze gebruiken om aantekeningen in te voegen voor ontvangers die het bericht lezen met niet‑MIME‑conforme programma’s.

Het volgende codefragment toont hoe je de preambule en epiloog van een EML‑bericht kunt verkrijgen, wat kan worden bereikt met de overeenkomstige methoden van de MailMessage klasse:

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

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