Encadeamento GMail, IMAP e Ruby
Eu estou usando a biblioteca IMAP Ruby para obter uma conversa GMail. A maneira como o GMail encadeia as conversas é através dos cabeçalhos das mensagens "Message-ID" e "In-Reply-To". Por exemplo:
In-Reply-To: <[email protected]>
Message-ID: <[email protected]>
Não consigo descobrir como obter de forma eficiente a mensagem respondida. A maneira atual:
target = <[email protected]>
imap.search(["NOT", "DELETED"]).each do |msg_id|
uid = imap.fetch(message_id, "ENVELOPE")[0].attr["ENVELOPE"].message_id
if uid == target
m = imap.fetch(msg_id, "RFC822")[0].attr["RFC822"]
end
end
Demora muito tempo para fazê-lo sequencialmente assim, mas não consigo descobrir o encantamento correto para pesquisar pelo cabeçalho da Mensagem-ID, e realmente não consigo encontrar nenhuma evidência sobre se isso é possível ou não.