2011-01-04 12 views
0

Ich entwickle eine Anwendung, mit der der Benutzer eine Antwort per E-Mail senden kann. Wenn ein Benutzer jedoch auf eine E-Mail antwortet, wird die ursprüngliche E-Mail auch an die Antwort des Benutzers angehängt.Identifizieren der ursprünglichen E-Mail aus der Antwort des Benutzers

Dieser ursprüngliche E-Mail-Text wird auf verschiedene Arten für verschiedene Clients angehängt. Für gmail beginnt es als

Am Di, 4. Januar 2011, um 6:24 Uhr, Benutzer schrieb:

Wie weise ist es anders für jeden Kunden.

Gibt es eine Möglichkeit, den ursprünglichen E-Mail-Text aus der Antwort des Benutzers zu identifizieren?

+1

Sie sind fast sicher besser dran mit dem In-Reply-to: Header, da es Ihnen genau sagt, auf welche Nachricht sie geantwortet haben. Wie Sie sagen, ist jeder Kunde frei, Nachrichten zu zitieren, wie es will, und es gibt keine Garantie, dass eine Antwort die ursprüngliche Nachricht überhaupt enthält. – geoffspear

Antwort

3

Es gibt drei beliebte Möglichkeiten, die Eltern eine E-Mail-Nachricht Tracing, alle über die Nachrichten-Header getan, anstatt der Nachrichtentext.

The In-Reply-To header, wenn vorhanden, sollte den Wert der Message-ID Header der übergeordneten Nachricht enthalten.

The References header, wenn vorhanden, sollte eine durch Leerzeichen getrennte Liste enthalten, die einige der Nachrichten-IDs der Vorfahren der Nachricht enthält, sortiert vom ältesten zum neuesten. Der letzte im Header sollte der Wert des Headers Message-ID der übergeordneten Nachricht sein.

The non-standard Thread-Index header ist Microsoft Outlook-spezifisch. Wenn vorhanden, enthält es einen base64-codierten Wert. Wenn Sie diesen Wert decodieren, entfernen Sie die letzten 5 Bytes aus dem resultierenden Byte-Array und res-base64-codieren Sie das Ergebnis. Sie erhalten den Wert des Headers Thread-Index der übergeordneten Nachricht - wenn das übergeordnete Element über einen Header Thread-Index verfügt.

+0

Danke für die nette, vollständige Antwort. –

Verwandte Themen