Um cliente agrupa uma resposta com as mensagens anteriores inspecionando seus cabeçalhos. Os IDs de mensagem em In-Reply-To e References permitem exibir uma única conversa.
Quais cabeçalhos mantêm as respostas em uma mesma thread?
A mensagem de resposta coloca o Message-ID da mensagem-pai em In-Reply-To. Ela também carrega a cadeia de IDs de mensagens relacionadas em References. Um cliente consegue reconstruir a conversa quando várias respostas partem de uma mesma mensagem.
A RFC 5322 seção 3.6.4 diz que In-Reply-To pode identificar a mensagem ou mensagens às quais a nova mensagem responde. References pode identificar as mensagens relacionadas na thread.
Como é uma resposta encadeada?
Uma mensagem com Message-ID: <m1@example.com> pode receber uma resposta com estes cabeçalhos:
In-Reply-To: <m1@example.com>
References: <m1@example.com>
Uma resposta a essa resposta adiciona o novo pai a References:
In-Reply-To: <m2@example.com>
References: <m1@example.com> <m2@example.com>
Mantenha cada ID exatamente como o remetente forneceu. Não invente um novo ID para o pai nem copie uma linha de assunto como substituto.
| Cabeçalho | Valor ilustrativo | Função |
|---|---|---|
Message-ID | <reply@example.com> | Identifica esta mensagem |
In-Reply-To | <original@example.com> | Nomeia a mensagem sendo respondida |
References | <original@example.com> | Carrega a cadeia de ancestralidade |
Esses valores são exemplos sintéticos. Um assunto Re: sozinho não identifica a mensagem-pai.
Por que uma resposta pode sair da thread?
Um cliente pode iniciar uma nova conversa quando In-Reply-To e References estão ausentes ou apontam para uma mensagem diferente. Alterar o assunto também pode afetar o agrupamento, porque os clientes combinam cabeçalhos com suas próprias regras de assunto.
Uma mensagem encaminhada geralmente é uma nova conversa. Ela contém o conteúdo antigo como contexto. Ela não identifica automaticamente a mensagem original como sua mensagem-pai.
Responder envia para o autor ou para o endereço Reply-To. Responder a todos também mantém os destinatários originais To e Cc, conforme as regras da caixa de correio do remetente. Um cliente ainda pode agrupar ou separar mensagens de forma diferente, porque renderização e agrupamento são comportamentos do cliente.
Como preservo uma thread com Bird?
Quando você responde por uma caixa de correio Bird, chame replyEmailThreadMessage para a mensagem recebida em POST /v1/email/threads/{thread_id}/messages/{message_id}/reply. A operação usa o escopo de escrita mailbox. Bird deriva o assunto e os cabeçalhos de resposta. A mensagem enviada permanece nessa thread. Use compose para uma nova thread. O guia de caixas de correio mostra o fluxo de resposta e os eventos de webhook para e-mails recebidos.
Se sua integração envia e-mail bruto, preserve o Message-ID da mensagem-pai em In-Reply-To e a cadeia completa em References. Armazene esses cabeçalhos junto com o registro da mensagem para que novas tentativas usem o mesmo relacionamento.
Resumo
In-Reply-Tonomeia a mensagem sendo respondida.Referencescarrega a cadeia de mensagens relacionadas.- Um cabeçalho ausente ou não relacionado pode iniciar uma nova conversa.
- Respostas de caixa de correio Bird permanecem na thread da mensagem recebida.