Est-il une différence entre les Perspectives .MSG et .SOUVENT les formats de fichier?

Cette question est un peu un long shot, mais j'ai passé des heures sur elle, en vain. J'ai un code qui génère un fichier de mail sur un serveur web, et permet à l'utilisateur de télécharger le courriel et l'ouvrir dans Outlook. De là, ils peuvent apporter diverses modifications manuelles à l'e-mail avant de l'envoyer à un tas de gens.

Droit maintenant, je créer un .L'OFT fichier, qui est essentiellement un modèle d'e-mail. Ce que je veux faire est de générer un .Fichier MSG, qui est un véritable e-mail. À partir d'un binaire point de vue, il semble que ces formats de fichiers sont identiques. Ils ont le même Flux des Id et des propriétés et des trucs.

Mon approche était d'abord de créer un nouveau message électronique dans Outlook et puis il suffit de l'enregistrer dans un fichier appelé Base.l'oft. Dans mon code, j'ouvre le document et de le modifier Stream ID __substg1.0_1013001E qui est l'ID de l'e-mail en HTML du corps. Je puis enregistrez le fichier et écrire dans le cilent. Cela fonctionne parfaitement.

J'ai essayé la même approche avec le format MSG. J'ai créé un message vide, enregistré comme Base.msg, et de modifier le même Flux d'ID. Si je regarde le fichier qui en résulte, le nouveau corps est en fait là-bas et enregistrée. Cependant, si j'ouvre l'email, le corps est toujours vide.

Ce qui est encore plus étrange est que si je tape dans un corps d'Outlook et d'enregistrer le fichier de base, je peux voir ce corps sous le volet 0_1013001E. Si je puis modifier le flux avec un corps différent, je peux confirmer le nouveau corps est, en effet, enregistré dans le fichier, mais si j'ouvre le message dans Outlook, je vois la vieille, corps d'origine. C'est comme si le corps de l'email est stocké dans un endroit différent dans le fichier de la .MSG format, mais j'ai regardé à travers chaque flux et ne peut pas trouver quelque chose qui ressemble à cela pourrait être un e-mail corps.

Peut-être .MSG fichiers sont cryptés, ou leurs corps sont stockés dans un format binaire propriétaire à la différence .SOUVENT les fichiers? J'espère que quelqu'un a des conseils sur ce, comme je l'ai parcouru l'Internet et a trouvé à peu près rien sur ces formats.

Mise à jour:

Il semble que l' .MSG format de magasins le corps en Stream ID __substg1.0_10090102 - Qui est codée dans certaines forme binaire (pas sûr de quoi.) Si je supprime le flux (ou le fixer à un seul \0, le fichier est corrompu.

OriginalL'auteur Mike Christensen | 2011-10-31