2011-01-04 4 views
0

Je développe une application qui permet à l'utilisateur de répondre par courrier électronique. Toutefois, lorsqu'un utilisateur répond à un e-mail, l'e-mail d'origine est également ajouté à la réponse de l'utilisateur.Identification de l'e-mail d'origine à partir de la réponse de l'utilisateur

Ce texte électronique original est ajouté de différentes manières pour différents clients. Pour gmail, il commence comme

Le Mar 4 Jan 2011 à 18h24, l'utilisateur a écrit:

Comme sage, il est différent pour chaque client.

Est-il possible d'identifier le texte d'origine de l'e-mail à partir de la réponse de l'utilisateur?

+1

Il vaut certainement mieux utiliser l'en-tête In-reply-to:, car il vous indique exactement à quel message ils ont répondu. Comme vous le dites, chaque client est libre de citer des messages comme il veut, et il n'y a aucune garantie qu'une réponse contiendra le message original. – geoffspear

Répondre

3

Il existe trois méthodes courantes de suivi du parent d'un message électronique, toutes effectuées via les en-têtes de message plutôt que par le corps du message.

The In-Reply-To header, lorsqu'il est présent, doit contenir la valeur de l'en-tête Message-ID du message parent. Le cas échéant, il doit contenir une liste séparée par des espaces contenant certains des identifiants de message des ancêtres du message, classés du plus ancien au plus récent. Le dernier en-tête doit être la valeur de l'en-tête Message-ID du message parent.

The non-standard Thread-Index header est spécifique à Microsoft Outlook. Lorsqu'il est présent, il contient une valeur codée en base64. Si vous décodez cette valeur, supprimez les 5 derniers octets du tableau d'octets résultant et re-base64-encoder le résultat, vous aurez la valeur de l'en-tête Thread-Index du parent - si le parent a un en-tête Thread-Index.

+0

Merci pour la belle réponse complète. –

Questions connexes