Problem: Wenn die Antwort auf die E-Mail über api gesendet wird, wird sie auf der Empfängerseite als Thread angezeigt, der zwei E-Mail-Nachrichten enthält ( auf der Empfängerseite ), aber den Absender hat zwei verschiedene E-Mails, eine im Posteingang und eine in Gesendete E-Mail ( Problem auf der Senderseite ).
zum Beispiel:
E-Mail wird von A nach B gesendet. Wieder sendet B an A.
Hier in api gebe ich die vorherige E-Mail-ID in "In-Reply-To" und "References" ein (gemäß dem Format rfc822). Google bearbeitet diese Nachrichten-ID auf der A-Seite, aber nicht auf B Seite. A empfängt die Nachricht in einem einzelnen Thread als zwei Nachrichten, aber in B-Konto wird es als zwei separate E-Mails angezeigt, eine im Posteingang und eine in gesendet.
Api verwendet:
Ссылка Inhaltstyp: "message / rfc822; boundary = foo_bar_baz"
Anfrage Körper ist im RFC2822 Format
Das habe ich heute auch in meiner Produktions-App bemerkt. Das Änderungsprotokoll gab keinen Hinweis darauf, was passiert ist, aber ich habe das Problem in der neuen Dokumentation gefunden Threads verwalten :
- Die angeforderte
threadId
muss inMessage
oderDraft.Message
angegeben werden, die Sie mit Ihrer Anfrage angeben.- Die Header
References
undIn-Reply-To
müssen dem Standard RFC 2822 entsprechen.- Die Header
Subject
müssen übereinstimmen.
Mit anderen Worten, die threadId
muss geliefert werden. Ich weiß nicht, ob dies ein Bug ist oder nicht, da er nicht in der sendenden Nachricht dokumentiert ist -Dokumentation, die am selben Tag aktualisiert wurde.
Ich möchte auf die letzte Nachricht in meinem Posteingang antworten. Lassen Sie uns die relevanten Informationen erhalten:
Anfrage 1:
%Vor%Antwort 1:
%Vor%Anfrage 2:
%Vor%Antwort:
%Vor%Alles, was übrig bleibt, ist eine Nachricht mit all diesen Daten an den richtigen Stellen zu erstellen:
Anfrage 3:
%Vor%Dies führt zu einer neuen Nachricht mit einem Anhang wie zuvor: