Pues viendo la función que comentas: imap_headers() se vé le puedes pasar el: message_id ..
Tienes un ejemplo en:
http://www.php.net/manual/es/function.imap-header.php
concretamente el de:
DokFLeed dokfleed at dokfleed dot com
28-Jan-2003 09:55
Revisalo .. ahí se crea un "link" para cada mensaje .. se le pasa ese message_id y se aplica a la funcion: imap_headerinfo() (también lo hace la otra función si se especifica)
Realmente tienes un montón de ejemplos por parte de los usuarios .. Hechales un vistazo.
(por mi parte soy más práctico, .. inteto ver "de que va la cosa" .. más o menos comprender como funciona todo, pero en el fondo usaría alguna classe para gestión de IMAP (y otra para SMTP) .. y me dedicaría con esa base a crear mi web-mail en sí .. es decir .. mi aplicación con mi "caja de herramientas" bien surtida).
Un saludo,