Лучший способ отправить более 10 000 электронных писем с помощью PEAR/Mail_Queue

StackOverflow https://stackoverflow.com/questions/1275397

Вопрос

У меня есть cron, который генерирует всю информацию о почте и помещает ее в таблицу базы данных, используя $mail_queue->put(.....) с возможностью удалять электронные письма после их отправки.

Вот здесь мне нужна небольшая помощь:Как лучше всего отправлять электронные письма после того, как я получу вышеуказанную информацию?Запуск $mail_queue->sendMailsInQueue() прямо сейчас, используя другие задания cron или что-то еще?

Ограничение сервера, кстати, составляет 100 писем в минуту.На данный момент последний csv-дифференциал для Mail_Queue не применяется (сейчас работаю над этим со службой поддержки), поэтому я не могу использовать опцию «задержка».

У меня возникла идея использовать $seconds_to_send вариант, но он рассчитывается на основе поля create_time, что не сильно помогает, но тоже вариант.

Любые идеи и предложения будут очень признательны.

Это было полезно?

Решение

Лично я бы выбрал путь cron, поскольку он дает меньше возможностей для сбоя.Допустим, ваш почтовый сервер перестает отвечать или по какой-то другой причине становится недоступным.Или что, если вся ваша сеть отключится на несколько часов, но серверы все еще генерируют электронные письма.Я говорю: используйте очередь.

Что касается задержки, просто попросите службу/cronjob брать очередь каждые шестьдесят секунд, отправлять 100 писем и отправлять их, а затем закрывать.Вы можете получить очередь электронных писем для отправки, но это произойдет независимо от того, какую систему вы выберете.Очередь в любом случае будет пустовать в непиковые часы.

Другие советы

используйте два скрипта.один для заполнения таблицы mail_queue электронными письмами, которые вам нужно отправить, а второй скрипт для отправки этих писем частями по 90 писем за раз.установите второй скрипт, который будет активироваться примерно каждые 2 минуты.

вы также можете просто обновить свой план хостинга ;-)

почему ты не просматриваешь 100 писем и не спишь 60 секунд.это не требует затрат серверного времени, единственный недостаток: ваш скрипт работает немного дольше.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top