Sto utilizzando la libreria IMAP Ruby per ottenere una conversazione GMail. Il modo in cui GMail inserisce le conversazioni avviene tramite le intestazioni dei messaggi "Message-ID" e "In-Reply-To". Ad esempio:Threading GMail, IMAP e Ruby
In-Reply-To: <[email protected]>
Message-ID: <[email protected]>
Non riesco a capire come ottenere in modo efficiente il messaggio di risposta. Il modo corrente:
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
Ci vuole un sacco di tempo per farlo in modo sequenziale del genere, ma io non riesco a capire l'incantesimo corretto per cercare per l'intestazione Message-ID, e non riesco davvero a trovare qualsiasi prova sul fatto che sia possibile o meno.