If you want to run script continuously and still want to display some output then, why don’t you use an ajax request to server which can queue mails and still let user continue browsing that page.
If you don’t want to use this; instead you could use,
the script runs background even if the user will be redirected to show_usermessage.php
page
<?PHP
//Redirect to another file that shows that mail queued
header("Location: show_usermessage.php");
//Erase the output buffer
ob_end_clean();
//Tell the browser that the connection's closed
header("Connection: close");
//Ignore the user's abort (which we caused with the redirect).
ignore_user_abort(true);
//Extend time limit to 30 minutes
set_time_limit(1800);
//Extend memory limit to 10MB
ini_set("memory_limit","10M");
//Start output buffering again
ob_start();
//Tell the browser we're serious... there's really
//nothing else to receive from this page.
header("Content-Length: 0");
//Send the output buffer and turn output buffering off.
ob_end_flush();
flush();
//Close the session.
session_write_close();
//Do some of your work, like the queue can be ran here,
//.......
//.......
?>