Verktygsfunktioner – MailMessage
Kryptering och dekryptering av meddelanden
Aspose.Email erbjuder möjlighet att kryptera och dekryptera e‑postmeddelanden. Detta avsnitt visar hur ett befintligt eller nytt meddelande kan laddas och krypteras med hjälp av MailMessage. Klassen encrypt() och decrypt() metoderna returnerar MailMessage‑objektet för de tillämpade effekterna och måste hanteras korrekt vid kryptering/dekryptering av meddelanden. Kryptering och dekryptering av meddelanden involverar följande steg:
- Skapa ett nytt meddelande eller ladda ett befintligt
- Kryptera meddelandet med certifikatfilen
- Skicka meddelandet eller spara det
- Dekryptera meddelandet vid behov
Följande kodsnutt visar hur du krypterar och dekrypterar meddelanden.
Kontroll av kryptering av ett meddelande
Aspose.Email MailMessage klassen tillåter kontroll av om ett meddelande är krypterat eller inte. isEncrypted egenskapen i MailMessage möjliggör denna kontroll som visas i följande kodexempel.
Meddelandekryptering med X509Certificate
Aspose.Email tillhandahåller API:et för arbete med krypterade meddelanden med X509Certificate:
MailMessage klassen har följande metoder för att arbeta med meddelandekryptering:
- public MailMessage attachSignature(X509Certificate2 certificate, boolean detached) - Skapar ett signerat meddelande.
- public MailMessage attachSignature(X509Certificate2 certificate) - Skapar ett signerat meddelande.
- public X509Certificate2[] checkSignatureCert() - Kontrollerar signatur i befintligt MailMessage.
- public MailMessage decrypt(X509Certificate2 certificate)
- public MailMessage encrypt(X509Certificate2 certificate)
- public MailMessage encrypt(X509Certificate2[] certificates)
Konfigurera lokala alternativ för Aspose.Email
Du kan använda LocaleOptions klass för fall där standardlokalen inte känns igen och sätter den mest lämpliga lokalen för Aspose Email‑biblioteket. Den erbjuder följande metoder för att utföra uppgiften:
- getLocale() - Returnerar standardlokal för Aspose.Email.
- setLocale(Locale locale) och setLocale(String localeName) - Ställ in standardlokal för Aspose.Email.
- clear() - Rensar standardlokal för Aspose.Email. Standardlokalen för Java kommer att användas.
Följande kodexempel demonstrerar hur man laddar ett e‑postmeddelande från en fil med angivna lokala inställningar:
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");
Denna kod säkerställer att applikationen och Aspose.Email‑biblioteket använder de angivna lokalerna för hantering av språk, land och kulturella konventioner.
MailMessages som innehåller TNEF‑bilagor
Transport Neutral Encapsulation Format (TNEF) är ett proprietärt e‑postbilagsformat som används av Microsoft Outlook och Microsoft Exchange Server. Aspose.Email‑API‑et låter dig läsa e‑postmeddelanden som har TNEF‑bilagor och modifiera deras innehåll. E‑posten kan sedan sparas som ett vanligt e‑postmeddelande eller i samma format, med bevarade TNEF‑bilagor. Denna artikel visar olika kodexempel för att arbeta med meddelanden som innehåller TNEF‑bilagor.
Läsa ett meddelande med bevarande av TNEF‑bilagor
Följande kodsnutt visar hur du läser ett meddelande samtidigt som TNEF‑bilagor bevaras.
Uppdatera resurser i en TNEF‑bilaga och bevara TNEF‑formatet
Följande kodsnutt visar hur du uppdaterar resurser i en TNEF‑bilaga och bevarar TNEF‑formatet.
Lägga till nya bilagor till huvudmeddelandet som innehåller TNEF
Skapa TNEF‑EML från MSG
Outlook‑MSG‑filer innehåller ibland information som tabeller och textstilar som kan störas om de konverteras till EML. Att skapa TNEF‑meddelanden från sådana MSG‑filer gör att vi kan behålla formateringen och till och med skicka sådana meddelanden via e‑postklienter med formateringen intakt.
För att skapa TNEF kan följande exempel kod användas.
Detektera om ett meddelande är TNEF
Bearbetning av studsade meddelanden
Det är mycket vanligt att ett meddelande som skickas till en mottagare kan studsa av någon anledning, till exempel en ogiltig mottagaradress. Aspose.Email API har möjlighet att bearbeta ett sådant meddelande för att kontrollera om det är ett studsat e‑postmeddelande eller ett vanligt e‑postmeddelande. Den CheckBounced metod för MailMessage klassen returnerar ett giltigt resultat om e‑postmeddelandet är ett studsade e‑post.
Denna artikel visar användningen av BounceResult klass som ger möjlighet att kontrollera om ett meddelande är ett studsade e‑post. Den ger dessutom detaljerad information om mottagarna, vidtagna åtgärder och orsaken till notifikationen.
Ignorera undantag
Biblioteket erbjuder en ExceptionManager klass för att implementera möjlighet att ignorera undantag i din applikations funktionalitet. Kodsnutten nedan visar hur man sätter en återuppringning för att hantera undantag:
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");
}
});
Eller använd ett alternativ:
ExceptionManager.setIgnoreAll(true);
Du kan också ställa in en återuppringning för loggning av ignorerade undantag:
ExceptionManager.setIgnoreExceptionsLogHandler( new IgnoreExceptionsLogCallback() {
public void invoke(String message) {
System.out.println("=== EXCEPTION IGNORED === " + message);
}
});
Användaren kommer att meddelas att undantaget kan ignoreras med ett felmeddelande. Till exempel:
Undantag i meddelande:
AsposeArgumentException: properties should not be empty.
Om du vill ignorera ett undantag och fortsätta vidare kan du använda:
ExceptionManager.getIgnoreList().add("MailMessage\\Load\\DecodeTnefAttachment\\64149867-679e-4645-9af0-d46566cae598")
Invalid TNEF Attachment will be interpreted as regular attachment.
Bayesisk skräppostanalysator
Aspose.Email erbjuder möjligheten att filtrera e‑post med hjälp av Bayes skräppostanalysator. Den tillhandahåller SpamAnalyzer klass för detta ändamål. Denna artikel visar hur man tränar filtret för att skilja mellan skräppost och vanliga e‑postmeddelanden baserat på orddatabasen.
Hämtning av inledning och epilog från EML‑meddelanden
I MIME-formatet är preamble (inledande text) den text som visas efter rubrikerna och före den första multipart‑gränsen. Epilogue (epilog) är den text som visas efter den sista gränsen och före meddelandets slut. Denna text är vanligtvis inte synlig för användare i e‑postklienter, men vissa MIME‑implementationer kan använda den för att infoga anteckningar till mottagare som läser meddelandet med program som inte är MIME‑kompatibla.
Följande kodsnutt visar hur man får ut inledande text och epilog från ett EML‑meddelande, vilket kan uppnås med motsvarande metoder i MailMessage klass:
- setPreamble(String value) - Hämtar eller anger en inledande text.
- setEpilogue(String value) - Hämtar eller anger en epilogtext.
// Gets or sets a preamble text.
public String getPreamble, setPreamble
// Gets or sets an epilogue text.
public String getEpilogue, setEpilogue