Sólo se me ocurre lo mismo... pero con COMET. Lo cual el progreso sería 1:1. 100% real.
Si no sabes q es comet vendría a ser... pues, que cada vez que envias un mail "notificas" al navegador que lo has enviado.
De todas formas, veo más sencillo ajax. Si en vez de 30 segs, lo lanzas cada vez que te devuelve el resultado, obtienes casi casi un 1:1. Quizás se han enviado 30 más... pero, si envias 500 correos, ¿Q es? ¿Un 8%? va dando saltitos cortos, supongo.......
Es lo único que se me ocurre...
O eso, o un "iframe" en la página, con el resultado de un php que vaya mostrando la cola, con flush() (
http://es.php.net/flush ) para ir mostrando el buffer de salida... y ya ahí, con js o algo para que actualize el loader.
No sé, cosas así supongo :S