Lire des e-mails à l'aide de C++

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

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.

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());
Sortie générée par l'exemple de code

Sortie générée par l’exemple de code

Extraire les informations d’en-tête des messages électroniques

Voici les étapes pour extraire les informations d’en-tête des messages électroniques.

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.

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.

Voir également