Extraction du contenu des messages e‑mail
Affichage des informations d’e‑mail à l’écran
Le MailMessage représente un message e‑mail et permet aux développeurs d’accéder aux propriétés du message e‑mail. Les informations d’en‑tête (discutées dans Extraction des en‑têtes d’e‑mailPeut être extrait et manipulé de différentes manières. Cet article explique comment afficher certaines informations d’en‑tête d’e‑mail et le corps du message à l’écran.
- Créez une instance de MailMessage.
- Chargez un message e‑mail dans l’instance MailMessage.
- Affichez le contenu de l’e‑mail à l’écran.
Le code ci‑dessous montre comment charger un message e‑mail et afficher son contenu – de, à, objet et corps du message – à l’écran.
Obtention de la date et de l’heure du message
Le MailMessage La classe peut être utilisée pour récupérer la date du message en UTC ou le fuseau horaire local. Ces informations peuvent être résumées comme suit :
- MailMessage.getDate() - renvoie la date en UTC
- MailMessage.getLocalDate() - renvoie la date dans le fuseau horaire local.
- MailMessage.isLocalDate Renvoie true, si MailMessage.getDate() est dans le fuseau horaire local.
Extraction des en‑têtes d’e‑mail
L’en‑tête d’e‑mail représente un ensemble standard de champs d’en‑tête définis par Internet et les RFC, inclus dans les messages e‑mail. Un en‑tête d’e‑mail peut être spécifié en utilisant le MailMessage classe. Les types d’en‑tête courants sont définis dans le HeaderType classe. C’est une classe scellée qui fonctionne comme une énumération ordinaire.
Pour extraire les en‑têtes d’un e‑mail, suivez ces étapes :
- Créez une instance de la classe MailMessage.
- Chargez un message e‑mail dans l’instance de la classe MailMessage.
- Après le chargement d’un message e‑mail, nous obtenons son contenu brut. La classe MailMessage contient elle‑-même des propriétés telles que From, To, Cc, Subject, etc. Ces propriétés peuvent être extraites des en‑têtes.
- Affichez le contenu brut.
Obtenir les valeurs d’en-tête décodées
Obtenir et modifier l’en‑tête Disposition de la ressource liée
La ressource liée peut être accédée et manipulée programmatiquement dans l’objet du message e‑mail. Le getContentDisposition() méthode du LinkedResource La classe récupère l’en-tête Content‑Disposition. L’exemple de code ci‑dessous montre comment accéder et modifier le nom de fichier de la ressource liée :
MailMessage eml = MailMessage.load(fileName);
eml.getLinkedResources().get_Item(0).getContentDisposition().setFileName("changed.png");
Obtenir le corps HTML en texte brut
Le MailMessage La classe offre la fonctionnalité d’extraire le corps HTML du message en texte brut. La classe MailMessage fournit un GetHtmlBodyText Méthode qui renvoie le corps HTML en texte brut. La méthode GetHtmlBodyText accepte un paramètre booléen qui indique si le corps doit contenir des URL ou non. Passer le paramètre à true indique que le corps HTML doit contenir les URL.
L’extrait de code suivant montre l’utilisation de la méthode GetHtmlBodyText pour extraire le corps HTML de l’e‑mail en texte brut.
Récupérer les adresses X.500 Exchange depuis les e‑mails
Aspose.Email for Java vous permet d’accéder directement aux adresses X.500 Exchange via le MailAddress classe. Avec le X500Address Propriété, vous pouvez récupérer l’adresse e‑mail au format Exchange X.500 lorsqu’elle est disponible. L’exemple de code suivant montre comment charger un message e‑mail et obtenir l’adresse X.500 de l’expéditeur :
MailMessage mailMessage = MailMessage.load(fileName);
String exaddr = mailMessage.getFrom().getX500Address();
Si l’adresse X.500 existe, elle sera renvoyée sous forme de chaîne et pourra être utilisée pour un traitement ultérieur ou pour la journalisation dans les applications qui interagissent avec des systèmes basés sur Exchange.
Extraire et intégrer les images liées en pièces jointes dans les e‑mails HTML
Aspose.Email ExtractHTMLBodyResourcesAsAttachments méthode du HtmlSaveOption La classe définit s’il faut extraire les ressources du corps HTML sous forme de pièces jointes. Ainsi, vous pouvez extraire le contenu image lié du corps HTML et l’intégrer en tant que pièce jointe dans un message MIME. Les images liées sont préservées et correctement associées à l’e‑mail, améliorant l’intégrité du contenu et l’accessibilité hors ligne.
L’exemple de code suivant montre comment réaliser cette tâche :
MailMessage mailMessage = MailMessage.load("input.eml");
HtmlSaveOptions options = new HtmlSaveOptions();
options.setExtractHTMLBodyResourcesAsAttachments(true);
options.setResourceHtmlRenderingHandler(new ResourceHtmlRenderingHandler() {
public void invoke(final Object sender, final ResourceHtmlRenderingEventArgs e) {
System.out.println(e.getPathToResourceFile() + " " + ((Attachment)sender).getContentId());
}
});