GMail Threading, IMAP und Ruby

Ich verwende die Ruby IMAP-Bibliothek, um eine GMail-Konversation zu erhalten. Die Art und Weise, wie GMail Konversationen abwickelt, erfolgt über "Message-ID" - und "In-Reply-To" -Nachrichtenkopfzeilen. Zum Beispiel:

In-Reply-To: <[email protected]>
Message-ID: <[email protected]>

Ich kann nicht herausfinden, wie ich die Antwortnachricht effizient erhalten kann. Der aktuelle Weg:

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

Das sequentielle Durchführen dauert sehr lange, aber ich kann die richtige Beschwörung für die Suche anhand des Message-ID-Headers nicht herausfinden und kann keine Beweise dafür finden, ob dies möglich ist oder nicht.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage