Estoy recuperando correos electrónicos de Gmail usando PHP e IMAP; Sin embargo, algunos correos electrónicos no tienen un mensaje de mensaje. ¿No se supone que todos los mensajes tienen un mensaje de mensaje?PHP IMAP - ¿Los correos electrónicos deben tener un mensaje de mensaje?
Necesito una identificación única para la referencia, así que no estoy seguro de qué otra manera para realizar un seguimiento de los correos electrónicos sin ella.
¿Estoy haciendo algo mal?
Por ejemplo, aquí es un encabezado de correo electrónico que consigo
[date] => Sun, 06 Nov 2011 21:21:56 -0500
[subject] => Daylight Saving Time? Chili's Saving Time!
[to] => [email protected]
[message_id] =>
[from] => [email protected]
[sender] => [email protected]
[reply_toaddress] => [email protected]
[size] => 14385
[msgno] => 156
[status] => Unread
Gracias
Pero como no hay nada que lo garantice, esto no impide que un MTA con errores/maliciosos use identificaciones de mensajes idénticas para diferentes correos, ¿verdad? ¿Cuál es la mejor manera de protegerse contra esta situación? – Pacerier
@Pacerier si su preocupación es asegurarse de que otro MTA no pueda replicar el Message-ID de su servidor, eso es difícil. Podría crear el ID del mensaje como un hash de la hora del mensaje, su nombre de host y una clave secreta, lo que dificultaría la creación de un ID de mensaje, pero no estoy seguro de que gane mucho. El único método sólido de verificación del remitente en el correo electrónico es la firma y el cifrado de PGP. –
Una actualización de esta vieja pregunta: siempre he creído que un ID de mensaje es "obligatorio", ¡pero acabo de descubrir un correo electrónico en mi bandeja de entrada IMAP que no tiene uno! Miré la fuente sin procesar. Mi software de lectura de mensaje IMAP colapsó debido a esto, como a mí, asumió que siempre hay un ID de mensaje. –