Сначала
SET @id := 0;
UPDATE `mail`
SET `status` = `sending`
WHERE (@id := `id`) AND `status` = 'awaits'
ORDER BY `id`
LIMIT 1;
Затем
SELECT * FROM `mail` WHERE `id` = @id;
Скрипт можно запускать из крона раз в минуту, но сделать в нём цикл. Пока есть задания на отправку скрипт не должен завершаться. Тогда количество скриптов будет расти каждую минуту пока всё не будет отправлено.