Как wp_mail отправляет 50 писем каждый час?

Я создал функцию в cron, которая отправляет около 250 писем через wp_mail(). Однако мой хостинг-провайдер не позволяет отправлять более 50 писем каждый час. Есть ли способ заставить wordpress кэшировать все электронные письма и отправлять 50 из них каждый час?

Спасибо!

2 ответа

Вот логика, которой вы можете следовать:

  • Если вы хотите запустить 250 писем, вызовите функцию для сохранения всех 250 писем в формате массива. Массив электронной почты, который будет включать идентификатор электронной почты, тему электронной почты, содержимое электронной почты, заголовки, если таковые имеются, и т. Д.
  • Создайте серверный CRON для запуска каждые 5 минут.
  • Сервер CRON перейдет в настройки и получит электронное письмо OLDEST 50, которое также будет удалено из настроек. Это означает, что если у нас будет 250 писем, то в настройках останется 200 писем.
  • Затем сервер CRON просто вызовет функцию wp_email и успешно отправит 50 писем.
  • Точно так же он будет продолжать отправлять электронные письма, пока все электронные письма из настроек не станут пустыми.

Я надеюсь, что в этом есть смысл. Спасибо.

Вы можете создать новую таблицу с именем tasklistзатем поместите в него все электронные письма "для отправки" и напишите свой cronjob для запуска 50 таких записей в каждый час. Поместите столбец с флагами в таблицу, чтобы отметить, какой из них отправляется, и настройте свой скрипт на отправку не отмеченных.

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