Información útil del encabezado IMAP que no aparece

Estoy usando funciones estándar de IMAP para recibir correos electrónicos en PHP. Necesito hacer un seguimiento de laMessage-ID (yReferences yIn-Reply-To) para cada mensaje para construir hilos. Una vez que se implemente este sistema, quiero que los usuarios puedan responder a los mensajes en su cliente de correo para agregar un mensaje a un hilo, pero en mi interfaz web, las respuestas no se pueden adjuntar a la publicación original porque no tengo unIn-Reply-To Identificación de cualquier encabezado de correo electrónico. yo usaríaIn-Reply-To ID para adjuntar su respuesta a la notificación que les envié de una nueva publicación, pero no puedo porque no puedo obtener las ID. Si tuviera unIn-Reply-To encabezado, los mensajes se pueden agrupar, ya que hay un hilo de ID que los conecta.

Además, quiero poder responder a cualquier mensaje que el usuario envíe a la dirección de correo electrónico del servidor si hubo un error con su envío o algo así, en cuyo caso necesitaré laMessage-ID de su mensaje para que yo pueda hacer que elIn-Reply-To ID del mensaje que envío en respuesta.

No puedo obtener valores paraMessage-ID, niIn-Reply-To aunque en realidad tengan valores. (Vaya a cualquier mensaje en Gmail, haga clic en el menú desplegable al lado del botón de respuesta, presione "Mostrar original" y verá que toda la información del encabezado que falta cuando llamo a las funciones IMAP está realmente ahí, como aunque Gmail no quiere dar esa información a los servidores IMAP.)

He intentado una variedad de llamadas que supuestamente obtienen la información del encabezado (imap_headerinfo, imap_fetchheader, imap_fetch_overview), pero todos devuelven la matriz de valores dispersos para la información del encabezado que no necesito. Despues de ejecutar

$this->mbox = imap_open('{imap.gmail.com:993/imap/ssl}', $email, $password);

Solo puedo obtener unos pocos valores útiles del encabezado con cualquiera de estas llamadas:

imap_header($this->getImapStream(), "1");
imap_fetch_overview($this->getImapStream(), "1");
imap_fetchheader($this->getImapStream(), "1");

Puedo ver cosas comoSubject, To, Reply-To, y otros valores de encabezado, y todos son precisos, peroMessage-ID, References, In-Reply-To, y otra información valiosa del encabezado está ausente en gran medida (más bien, los valores de matriz que los representan están vacíos en todos los casos).

Casi puedo garantizar que el problema no está en el código en sí, ya que puedo ver algunos valores en los encabezados y puedo recuperar con éxito los cuerpos de los mensajes; es simplemente como si Google está filtrando la información del encabezado que puedo ver.

Puede notar que tengo exactamente la misma pregunta que enesta página, pero se sugirió que hiciera mi propia pregunta, así que eso es lo que he hecho.

EDITAR

Si alguien me puede dar una forma de responder a los mensajes de mi servidor sin tener que recuperar elMessage-ID del mensaje al que estoy respondiendo, sería igualmente asombroso.

Editar 2

Enumeré elMessage-ID de cada mensaje en mi gran bandeja de entrada y, por lo que puedo ver, aproximadamente el 40% de las identificaciones realmente aparecen. Si vuelvo a ejecutar la misma prueba, los mismos mensajes conservarán suMessage-IDs. Estoy buscando un patrón entre los mensajes que muestran elMessage-ID pero hay pruebas muy sólidas de que no hay un patrón entre los tipos de mensajes.

Cada mensaje, en realidad, tiene unaMessage-ID (y lo he verificado incluso para los mensajes cuyos identificadores no aparecen con las consultas IMAP), pero las funciones IMAP solo revelan el identificador de algunos de los mensajes.