Collez la source complète d'un e-mail - en-têtes et corps - et voyez-la décomposée : chaque en-tête, la structure MIME, l'encodage de transfert et le charset de chaque partie, le corps text/HTML décodé et toutes les pièces jointes. Tout fonctionne dans votre navigateur ; rien n'est envoyé.
Chaque e-mail que vous recevez est, en dessous, un document en texte brut qui suit une structure stricte définie par MIME (Multipurpose Internet Mail Extensions) et l’ancien format de message RFC 5322. Lorsque vous ouvrez la “source brute” ou un fichier .eml enregistré, cette structure devient visible : un bloc d’en-têtes, une ligne vide, puis le corps. Ce décodeur découpe tout message que vous collez en ces morceaux — en-têtes, arbre MIME, encodage de transfert et charset de chaque partie, le text/HTML décodé et chaque pièce jointe — entièrement dans votre navigateur. Rien n’est envoyé à un serveur ; l’analyse s’exécute sur votre propre ordinateur.
Un message comporte deux sections séparées par la première ligne vide :
Header-Name: valeur de l’en-tête Another-Header: autre valeur (ligne de continuation repliée) <ligne vide> Le corps commence ici…
Deux règles déroutent les lecteurs de la source brute :
=?charset?B?…?= (Base64) ou =?charset?Q?…?= (une variante quoted-printable). Par exemple =?UTF-8?Q?caf=C3=A9?= se décode en café. Le décodeur ci-dessus affiche la valeur lisible ; la valeur brute est ce qui circule réellement sur le réseau.Voici les variables que vous verrez en haut de presque tout message. Elles ne sont pas toutes toujours présentes.
| En-tête | Ce que cela signifie |
|---|---|
From | L’auteur affiché au lecteur — un nom d’affichage et une adresse, par ex. Anna <anna@example.com>. C’est ce qu’affiche votre client de messagerie ; ce n’est pas une preuve de qui a réellement envoyé le message (voir SPF/DKIM ci-dessous). |
To, Cc | Destinataires principaux et en copie carbone. Des en-têtes purement informatifs — la livraison réelle est pilotée par l’enveloppe SMTP, pas par eux. |
Bcc | Copie carbone invisible. Normalement supprimée avant la livraison, vous la voyez donc rarement dans le courrier reçu. |
Reply-To | Où les réponses doivent aller si cela diffère de From (par ex. un expéditeur “no-reply” qui dirige les réponses vers le support). |
Return-Path | L’expéditeur d’enveloppe (l’adresse “MAIL FROM”) où sont envoyés les rapports de non-remise (bounces). Ajouté par le serveur destinataire et diffère souvent de From. |
Sender | L’agent réel qui a soumis le message lorsque ce n’est pas l’auteur (listes de diffusion, “au nom de”). |
Message-ID | Un identifiant globalement unique pour ce message, comme <a1b2c3@example.com>. Utilisé pour le fil de discussion et la déduplication. |
| En-tête | Ce que cela signifie |
|---|---|
Subject | La ligne de sujet. Souvent un mot encodé lorsqu’elle contient des caractères non-ASCII. |
Date | Le moment où l’auteur a envoyé le message, avec un décalage de fuseau horaire, par ex. Wed, 9 Jul 2026 10:15:00 +0000. |
In-Reply-To | Le Message-ID auquel ce message répond — permet aux clients de construire les fils de conversation. |
References | La chaîne des Message-ID précédents dans le fil. |
| En-tête | Ce que cela signifie |
|---|---|
Received | Une ligne de trace ajoutée par chaque serveur de messagerie par lequel le message est passé, la plus récente en haut. Les lire de bas en haut montre le chemin de livraison et les horodatages. |
DKIM-Signature | Une signature cryptographique qui permet au destinataire de confirmer que le message a bien été envoyé par le domaine et n’a pas été altéré en transit. |
Authentication-Results | Le verdict du serveur destinataire sur les vérifications SPF, DKIM et DMARC (pass/fail). Un moyen rapide de juger si un “From” est digne de confiance. |
Received-SPF | Si l’IP expéditrice est autorisée à envoyer pour le domaine d’enveloppe. |
List-Unsubscribe | Pour le courrier en masse/les newsletters : l’adresse ou l’URL qu’un client utilise pour un désabonnement en un clic. |
Ces quelques en-têtes contrôlent toute la structure du corps. Ce sont les variables qui intéressent le plus ce décodeur.
| Variable | Ce qu’elle fait |
|---|---|
MIME-Version: 1.0 | Déclare que le message utilise MIME. Pratiquement toujours 1.0. |
Content-Type | La variable la plus importante de toutes : le type de média d’une partie (text/plain, text/html, image/png, application/pdf, multipart/*…). Elle porte des paramètres après des points-virgules. |
charset | Un paramètre d’un Content-Type texte : l’encodage de caractères du texte, par ex. charset="UTF-8". Nécessaire pour reconvertir les octets en les bonnes lettres. |
boundary | Un paramètre d’un type multipart : une chaîne de marquage unique. Chaque partie commence par --boundary et la dernière se termine par --boundary--. |
Content-Transfer-Encoding | Comment les octets de la partie ont été empaquetés pour survivre en texte 7 bits sur le réseau (voir le tableau ci-dessous). |
Content-Disposition | inline (l’afficher dans le message) ou attachment (le proposer comme fichier). Porte généralement un paramètre filename. |
name / filename | Le nom de fichier suggéré d’une pièce jointe, respectivement dans Content-Type et Content-Disposition. |
Content-ID | Un identifiant pour une partie inline (par ex. une image) afin que le corps HTML puisse y faire référence avec cid:. |
multipart/alternative — le même message sous deux formes : une solution de repli text/plain et une version text/html. Le client affiche la plus riche qu’il peut.multipart/mixed — un corps plus des pièces jointes regroupés ensemble.multipart/related — une partie HTML accompagnée des images inline auxquelles elle fait référence par Content-ID.Ces types s’imbriquent : un vrai message est souvent un multipart/mixed contenant un multipart/alternative (texte + HTML) à côté d’une pièce jointe PDF. Le décodeur affiche cela sous forme d’arbre numéroté (1, 1.1, 1.2…).
| Valeur | Signification |
|---|---|
7bit | ASCII pur, rien de modifié. La valeur par défaut lorsqu’aucun encodage n’est indiqué. |
8bit | Les octets bruts supérieurs à 127 sont utilisés directement (nécessite un canal 8-bit-clean). |
binary | Octets arbitraires, sans limite de longueur de ligne — rare dans le courrier normal. |
quoted-printable | Texte majoritairement lisible où les octets non-ASCII deviennent des =XX hexadécimaux (et un = en fin de ligne est un saut de ligne souple). Idéal pour du texte surtout anglais avec quelques accents. |
base64 | N’importe quels octets recodés dans un alphabet sûr de 64 caractères, ~33 % plus volumineux. Utilisé pour les images, les PDF et autres pièces jointes binaires. |
Le décodeur inverse celui de ces encodages qui a été utilisé, puis applique le charset de la partie afin que le texte redevienne lisible et que les pièces jointes reviennent sous forme de leurs octets d’origine (que vous pouvez télécharger).
Appuyez sur “Charger un exemple” ci-dessus pour charger un petit message et le voir décodé. Son squelette ressemble à ceci :
Subject: =?UTF-8?Q?Meeting_notes_=E2=80=93_caf=C3=A9?= ← mot encodé MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="OUTER" --OUTER Content-Type: multipart/alternative; boundary="INNER" --INNER Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable ← partie texte ... --INNER Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: base64 ← alternative HTML ... --INNER-- --OUTER Content-Type: text/plain; name="notes.txt" Content-Disposition: attachment; filename="notes.txt" Content-Transfer-Encoding: base64 ← pièce jointe ... --OUTER--
Sa lecture : le type externe est multipart/mixed, donc le corps est “contenu + pièce jointe”. Son premier enfant est un multipart/alternative contenant les versions texte brut et HTML de la même note ; son second enfant est la pièce jointe notes.txt. Le Subject est un mot encodé qui se décode en “Meeting notes – café”.
Tout reste sur votre appareil. Cet outil analyse le message avec du JavaScript dans votre navigateur — l’e-mail brut n’est jamais envoyé ni à nous ni à quiconque, et rien n’est stocké. Vous pouvez inspecter en toute sécurité des messages privés ou sensibles.
Une fois que vous savez de quel serveur provient un message, vous pouvez creuser davantage : consultez la Recherche MX du domaine, découvrez comment un serveur répond dans le guide Vérification SMTP avec telnet, ou vérifiez si une adresse peut recevoir du courrier avec le Vérificateur d'e-mail.