Я готовлю сайт, который будет отправлять уведомления по электронной почте зарегистрированным пользователям. По своему опыту я знаю, что отправка электронных писем является несколько болезненным процессом для PHP, особенно когда речь идет о тысячах. Один из моих сайтов время от времени отправляет электронную почту 1000-1500 человек. Для этого PHP требуется около 5 минут, поэтому мы запускаем его в одночасье, когда нагрузка на сервер самая низкая. Я использую встроенную функцию mail()
без SMTP. Это хорошо работает на выделенном сервере, но я не большой поклонник этого решения.
Я хочу иметь возможность отправлять аналогичные суммы в любое время, не рискуя отключить сервер (и он будет в черном списке).
Я читал, что идеальным решением является отправка электронных писем партиями (скажем, по 20) каждые пару минут из сценария, запускаемого Cron. Это кажется мне вполне разумной идеей, но ... Что если у меня нет доступа к Cron (не все хостинг-провайдеры предоставляют доступ к нему) и веб-сайт недостаточно популярен, чтобы запускать скрипт на странице? загрузить
Я настаиваю на использовании моего сервера для рассылки, а не на внешнем решении.
PS. Я нашел такие решения: http://www.mywebcron.com/ но разве это хорошо?
EDIT
Просто добавить:
- Я использую CodeIgniter,
- скорость, с которой электронные письма отправляются с моего текущего сервера, обычно составляет 0,2 с на электронную почту.