Les e-mails sont la principale source de communication sur Internet. Vous pouvez vous retrouver dans des scénarios où vous souhaitez que vos applications lisent les fichiers EML et MSG et ajoutent leur contenu à un fichier ou effectuent une autre opération dessus. À cette fin, cet article vous apprendra à lire les e-mails à l’aide de C++.
- API C++ pour la lecture des messages électroniques
- Lire des e-mails à l’aide de C++
- Extraire les informations d’en-tête des messages électroniques
- Décoder les valeurs d’en-tête de message électronique
- Obtenez une licence gratuite
API C++ pour la lecture des messages électroniques
Aspose.Email for C++ est une bibliothèque C++ native pour créer, manipuler et envoyer des e-mails sans nécessiter l’installation de Microsoft Outlook. L’API prend également en charge la lecture des fichiers de courrier électronique EML et MSG. Vous pouvez soit installer l’API via NuGet ou la télécharger directement à partir de la section Téléchargements.
PM> Install-Package Aspose.Email.Cpp
Lire des e-mails à l’aide de C++
Voici les étapes pour lire les messages électroniques.
- Chargez le fichier e-mail à l’aide de la classe MailMessage.
- Lisez le contenu de l’e-mail en utilisant MailMessage->getFrom(), MailMessage->getTo(), MailMessage->getSubject(), MailMessage->getBody( ), etc. méthodes.
Voici un exemple de code pour lire les messages électroniques à l’aide de C++.
// Créer une instance MailMessage en chargeant un fichier EML
System::SharedPtr<MailMessage> message = MailMessage::Load(u"SourceDirectory\\Message.eml", System::MakeObject<EmlLoadOptions>());
// Obtenir les informations de l'expéditeur
System::Console::WriteLine(u"From:");
System::Console::WriteLine(message->get_From());
// Obtenir les informations sur les destinataires
System::Console::WriteLine(u"To:");
System::Console::WriteLine(message->get_To());
// Obtenir le sujet
System::Console::WriteLine(u"Subject:");
System::Console::WriteLine(message->get_Subject());
// Obtenir le corps HTML
System::Console::WriteLine(u"HtmlBody:");
System::Console::WriteLine(message->get_HtmlBody());
// Obtenir le corps du texte
System::Console::WriteLine(u"TextBody:");
System::Console::WriteLine(message->get_Body());
Extraire les informations d’en-tête des messages électroniques
Voici les étapes pour extraire les informations d’en-tête des messages électroniques.
- Chargez le fichier de courrier électronique à l’aide de la classe MailMessage.
- Obtenez l’énumérateur d’en-tête à l’aide de la méthode MailMessage->getHeaders()->GetEnumerator().
- Parcourez les en-têtes et récupérez l’en-tête à l’aide de la méthode MailMessage->getHeaders()->Get (int32t index).
Voici l’exemple de code permettant d’extraire les informations d’en-tête des messages électroniques à l’aide de C++.
// Créer une instance MailMessage en chargeant un fichier EML
System::SharedPtr<MailMessage> message = MailMessage::Load(u"SourceDirectory\\Message.eml", System::MakeObject<EmlLoadOptions>());
// Imprimez tous les en-têtes
int32_t index = 0;
{
auto header_enumerator = message->get_Headers()->GetEnumerator();
decltype(header_enumerator->get_Current()) header;
while (header_enumerator->MoveNext() && (header = header_enumerator->get_Current(), true))
{
System::Console::Write(header + u" - ");
System::Console::WriteLine(message->get_Headers()->Get(index++));
}
}
Décoder les valeurs d’en-tête de message électronique
Voici les étapes pour décoder les valeurs d’en-tête dans les messages électroniques.
- Chargez le fichier de courrier électronique à l’aide de la classe MailMessage.
- Décodez la valeur de l’en-tête à l’aide de la méthode MailMessage->getHeaders()->GetDecodedValue (System::String name).
Voici un exemple de code pour décoder les valeurs d’en-tête dans les messages électroniques à l’aide de C++.
// Créer une instance MailMessage en chargeant un fichier EML
System::SharedPtr<MailMessage> message = MailMessage::Load(u"SourceDirectory\\Message.eml", System::MakeObject<EmlLoadOptions>());
// Obtenir la valeur décodée de l'en-tête
System::String decodedValue = message->get_Headers()->GetDecodedValue(u"Thread-Topic");
// Imprimer la valeur
System::Console::WriteLine(decodedValue);
Obtenez une licence gratuite
Vous pouvez essayer l’API sans limitation d’évaluation en demandant une licence temporaire gratuite.
Démo en direct
Conclusion
Dans cet article, vous avez appris à lire des messages électroniques à l’aide de C++. Plus précisément, vous avez appris à lire le contenu et les informations d’en-tête de l’e-mail. Vous avez également vu comment décoder les valeurs d’en-tête à l’aide de Aspose.Email for C++. En plus de lire les e-mails, l’API fournit beaucoup plus de fonctionnalités pour travailler avec les e-mails. Vous pouvez explorer l’API en détail en visitant la documentation officielle. Si vous avez des questions, n’hésitez pas à nous contacter sur notre forum d’assistance gratuit.