Как отправить массовое письмо с таймером?
Допустим, у меня есть 200 пользователей в моей базе данных и в настоящее время хостинг на виртуальном хостинге. Я хочу отправлять им новостную рассылку и отправлять только 10 писем каждые 5 минут.
Я отправлю рассылку с помощью phpmailer. Вопросы..
- Какова хорошая идея отправлять новостную рассылку, используя существующую базу данных, без экспорта в сторонние сервисы?
- Что является ключом к тому, чтобы скрипт не отправлял дублирующую рассылку одновременно?
- Какова хорошая практика для достижения моей цели.
Дай мне знать
2 ответа
Задайте задачу, чтобы выбрать фиксированное количество неотправленных информационных бюллетеней из базы данных (я бы либо удалил отправленные информационные бюллетени, либо отметил их как отправленные, либо переместил их в другую таблицу). В вашем случае вы, очевидно, хотите отправлять 10 каждые 5 минут, поэтому поставьте задачу получить 10 писем и отправить их. Затем настройте cron и запускайте его каждые пять минут... Возможно, есть более элегантное решение, если вы планируете отправлять электронные письма только один / два раза в неделю. Вы могли бы сделать некоторые циклы while с помощью команды sleep, но это не особенно эффективно с точки зрения ресурсов... Я бы просто пошел с вышеизложенным - это, вероятно, самое гибкое решение для перебора, и ваш хост действительно не заметит, так как он все еще будет быть относительно быстрым
Вам просто нужно использовать сторонний сервис с хорошим API. Это будет гораздо меньше работы в долгосрочной перспективе.
Вы не задумывались об обработке отказов, отказе от подписки, доменных ключах, избегании черных списков и многом другом.
В лучшем случае ваши сообщения окажутся в нежелательной почте.
В худшем случае ваш IP будет заблокирован, а ваша учетная запись прервана для отправки нежелательных сообщений электронной почты (вашему интернет-провайдеру все равно, подписались ли они на него).