Quelle est la différence entre un fichier .msg et un fichier .eml?
Y a-t-il quelque chose dont msg est capable et qui n'est pas eml et vice versa?
MSG est un fichier de stockage binaire OLE ( IStorage ). Contrairement à MIME (EML), il stocke toutes les propriétés spécifiques MAPI que MIME ne peut pas stocker. Son format est documenté par Microsoft. Vous pouvez regarder à l'intérieur d'un fichier MSG au niveau IStorage
à l'aide d'un utilitaire comme SSViewer . Au niveau MAPI , vous pouvez ouvrir/créer un fichier MSG en utilisant les fonctions StgOpenStorage / StgCreateStorageEx et OpenIMsgOnIStg .
Les fichiers EML sont des fichiers texte au format MIME (vous pouvez ouvrir un fichier comme celui-ci dans le Bloc-notes).
Pour créer un fichier EML, vous pouvez soit
Créez-le explicitement dans votre code un en-tête/une partie MIME à la fois.
Si vous utilisez MAPI étendu en C++ ou Delphi, vous pouvez utiliser l'interface IConverterSession qui encapsule le convertisseur Outlook natif. Vous pouvez jouer avec lui dans OutlookSpy - cliquez sur le bouton IConverterSession dans la barre d'outils OutlookSpy.
Vous pouvez utiliser Redemption et ses méthodes RDOMail .SaveAs(..., olRfc822)
/ SafeMailItem.SaveAs(..., olRfc822)
.