Un client raggruppa una risposta con i messaggi precedenti esaminandone gli header. Gli ID messaggio in In-Reply-To e References gli consentono di mostrare un'unica conversazione.
Quali header mantengono le risposte in un unico thread?
Il messaggio di risposta inserisce il Message-ID del messaggio padre in In-Reply-To. Trasporta inoltre la catena degli ID messaggio correlati in References. Un client può ricostruire la conversazione quando più risposte si diramano da uno stesso messaggio.
RFC 5322 sezione 3.6.4 specifica che In-Reply-To può identificare il messaggio o i messaggi a cui il nuovo messaggio risponde. References può identificare i messaggi correlati nel thread.
Come si presenta una risposta in thread?
Un messaggio con Message-ID: <m1@example.com> può ricevere una risposta con questi header:
In-Reply-To: <m1@example.com>
References: <m1@example.com>
Una risposta a quella risposta aggiunge il nuovo padre a References:
In-Reply-To: <m2@example.com>
References: <m1@example.com> <m2@example.com>
Conserva ogni ID esattamente come fornito dal mittente. Non inventare un nuovo ID per il padre né copiare un oggetto come sostituto.
| Header | Valore illustrativo | Funzione |
|---|---|---|
Message-ID | <reply@example.com> | Identifica questo messaggio |
In-Reply-To | <original@example.com> | Indica il messaggio a cui si risponde |
References | <original@example.com> | Trasporta la catena di discendenza |
Questi valori sono esempi fittizi. Un oggetto Re: da solo non identifica il messaggio padre.
Perché una risposta può uscire dal thread?
Un client può avviare una nuova conversazione quando In-Reply-To e References mancano o puntano a un messaggio diverso. Anche la modifica dell'oggetto può influire sul raggruppamento, perché i client combinano gli header con le proprie regole sull'oggetto.
Un messaggio inoltrato è di solito una nuova conversazione. Contiene il vecchio contenuto come contesto. Non identifica automaticamente il messaggio originale come suo padre.
Rispondi invia all'autore o all'indirizzo Reply-To. Rispondi a tutti mantiene anche i destinatari originali To e Cc, in base alle regole della casella del mittente. Un client può comunque raggruppare o separare i messaggi in modo diverso, perché il rendering e il raggruppamento sono comportamenti del client.
Come preservo un thread con Bird?
Quando rispondi tramite una casella Bird, chiama replyEmailThreadMessage per il messaggio ricevuto all'indirizzo POST /v1/email/threads/{thread_id}/messages/{message_id}/reply. L'operazione usa lo scope di scrittura mailbox. Bird ricava l'oggetto e gli header di risposta. Il messaggio in uscita resta in quel thread. Usa compose per un nuovo thread. La guida alle caselle mostra il flusso di risposta e gli eventi webhook per la posta in arrivo.
Se la tua integrazione invia email grezze, preserva il Message-ID del padre in In-Reply-To e la catena completa in References. Salva questi header con il record del messaggio in modo che i tentativi successivi mantengano la stessa relazione.
In breve
In-Reply-Toindica il messaggio a cui si risponde.Referencestrasporta la catena dei messaggi correlati.- Un header mancante o non correlato può avviare una nuova conversazione.
- Le risposte dalla casella Bird restano nel thread del messaggio ricevuto.