i think safe mode has to be turned off, but this would un-restrict the max execution time:
PHP Code:
<?php
ini_set('max_execution_time', 0);
?>
is this a php script running from the command line? or is it something running in a browser? if it is the latter, another option would be to store your email array in a session variable and send 20 emails on a page load, then print a javascript redirect to the screen to have to start on the next 20 emails .. repeat until done.
if there is going to be a user watching the emails process, you could flush each email address as it gets processed so the user can see what is happening.