Не так далеко, я был в точно такой же ситуации. На мой взгляд, вы пытаетесь разграничить рассылку от «в момент публикации» до запланированного графика. Итак, первое, что вам нужно знать, это:
Когда вы запускаете CRON, у вас нет доступа к $ _SERVER, $ _POST и другим глобальным переменным
Это потому, что вы запускаете PHP, а НЕ через сервер, который является АВТОРОМ глобальных переменных.
Таким образом, вам необходимо создать временное хранилище для вашей почты, например, файл почтовых задач (может возникнуть проблема с добавлением задач во время выполнения, например, если ваш cron mailer отправляет письма, и в то же время ваш интерфейс PHP Сценарий хочет добавить некоторые задачи, чтобы файл задач мог быть поврежден), или БД, или все, что может сделать ваше воображение.
После этого вам нужно настроить задачу cron, которая будет принимать, например, первые 500 почтовых заданий и отправлять их по почте. Конечно, вы можете отправить все почтовые задания в данный момент, не проблема.
Надеюсь, это поможет.