2009-11-17 2 views
0

Je dois écrire un programme qui lit les fichiers .eml de la boîte aux lettres d'IIS, mais je ne trouve pas de source définitive qui me dit l'encodage des fichiers .eml. Y at-il une spécification quelque part qui me dit l'encodage des fichiers, ou dois-je juste deviner/supposer un?Quel est le codage d'un fichier .eml du serveur SMTP d'IIS?

+0

Je pense avoir trouvé ma réponse sur http://en.wikipedia.org/wiki/MIME: "Le protocole de transmission de courrier électronique Internet de base, SMTP, ne prend en charge que les caractères ASCII 7 bits ..." –

+0

N'ajoutez-vous pas de réponse? Vous ne serez pas en mesure d'obtenir des points de rep, mais cela n'a pas trop d'importance. – ChaosPandion

+0

J'hésite à l'ajouter une réponse parce que je ne suis pas sûr si je suis correct :) –

Répondre

1

J'ai trouvé ma réponse à en.wikipedia.org/wiki/MIME: « Le protocole de transmission de courrier électronique Internet de base, SMTP, ne supporte que 7 bits des caractères ASCII ... »

1

Vous devez lire l'en-tête Content-Transfer-Encoding. Cette valeur vous dira comment l'email est encodé. Les plus courants sont 7 bits (pas d'encodage), quotient-imprimable (où vous voyez beaucoup de = paires HEX), et base64 (qui est l'encodage base 64).

En fonction de cette valeur d'en-tête, vous décodez la partie de corps suivante à l'aide de la routine spécifiée.

+0

Merci Dave. Le problème est la lecture de l'en-tête lui-même. Puis-je supposer que les en-têtes sont des caractères ACII? –

1

Bien qu'il ne soit trop tard pour répondre mais le format de fichier eml rien mais un format de fichier MIME (rfc822) en clair pour stocker des emails.