Как отправить массовое письмо с таймером?

Допустим, у меня есть 200 пользователей в моей базе данных и в настоящее время хостинг на виртуальном хостинге. Я хочу отправлять им новостную рассылку и отправлять только 10 писем каждые 5 минут.

Я отправлю рассылку с помощью phpmailer. Вопросы..

  • Какова хорошая идея отправлять новостную рассылку, используя существующую базу данных, без экспорта в сторонние сервисы?
  • Что является ключом к тому, чтобы скрипт не отправлял дублирующую рассылку одновременно?
  • Какова хорошая практика для достижения моей цели.

Дай мне знать

2 ответа

Решение

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

Вам просто нужно использовать сторонний сервис с хорошим API. Это будет гораздо меньше работы в долгосрочной перспективе.

Вы не задумывались об обработке отказов, отказе от подписки, доменных ключах, избегании черных списков и многом другом.

В лучшем случае ваши сообщения окажутся в нежелательной почте.

В худшем случае ваш IP будет заблокирован, а ваша учетная запись прервана для отправки нежелательных сообщений электронной почты (вашему интернет-провайдеру все равно, подписались ли они на него).

Другие вопросы по тегам