Без какого-либо планировщика вы всегда достигнете своего предела исполнения.
Возможно, вы захотите сохранить электронные письма в базе данных, после чего cron выполнит их.
Или вы можете увеличить время выполнения:
<?php
//replace 600 without how many seconds you need
ini_set('max_execution_time', 600);
... loop through emails
?>
Зачем вам их все равно откладывать?