Автоматическая отправка почты по определенным датам в PHP

У меня есть некоторые идентификаторы почты в моей базе данных. Я должен отправить почту на эти идентификаторы почты автоматически в некоторые конкретные даты, которые я упомянул в своей базе данных. Как это сделать в php.

Это зависит от типа вашего сервера. Если вы используете linux, вы можете использовать cronjobs для программирования выполнения определенного файла php в определенное время. Если вы размещаете, ваш хост может предложить меню cronjob в своем cpanel, иначе вам нужно будет получить лучший план хостинга, который предлагает это. Или, по крайней мере, доступ к файлу crontab, где вы программируете разные Cronjob.

Выполнение скрипта PHP с заданием CRON

Вам нужно написать задания cron для отправки автоматических писем в определенную дату. Без этого это невозможно.

Синтаксис Вот простое задание cron:

 10 * * * * /usr/bin/php /www/virtual/username/cron.php > /dev/null 2>&1 

Есть две основные части:

 The first part is "10 * * * *". This is where we schedule the timer. The rest of the line is the command as it would run from the command line. The command itself in this example has three parts: "/usr/bin/php". PHP scripts usually are not executable by themselves. Therefore we need to run it through the PHP parser. "/www/virtual/username/cron.php". This is just the path to the script. "> /dev/null 2>&1". This part is handling the output of the script. 

Синхронизация времени

Это первая часть строки задания cron, как упоминалось выше. Он определяет, как часто и когда будет выполняться задание cron.

Он состоит из пяти частей:

 minute hour day of month month day of week 

Или

Вы можете установить cron в cpanel.

Как ответил Альберт Джеймс, это зависит от типа системы, на которой работает ваше приложение. Если это Linux, вы можете получить скрипт php, который отправляет почту, выполняемую заданиями cron, и если вы используете машину Windows, тогда вам нужно выполнить этот скрипт php с заданием расписания: Как запустить файл PHP в запланированной задаче (задача Windows Планировщик)

Также здесь есть опция, если вы не хотите использовать задачи расписания \ cron (хотя я этого не использовал): как отправлять расписание рассылки с помощью php без работы cron

Вот несколько общих шагов логики, за которыми вы можете следовать:

PHP-скрипт должен:

  • извлеките адреса электронной почты и конкретные даты из вашей базы данных в массивы.
  • проверьте, находится ли сегодняшняя дата в массиве, содержащем даты. Обязательно отформатируйте дату соответствующим образом!
  • (предпочтительно в цикле foreach() ), если вышеуказанная проверка возвращает «true».
  • в этом цикле используйте функцию mail() PHP для отправки вашей электронной почты.

Следующим шагом будет настройка запланированной задачи, которая запускает этот скрипт ежедневно, обычно с помощью задания cron. Этот шаг зависит от вашего сервера.

ПРИМЕЧАНИЕ. Эти шаги иллюстрируют наиболее простой способ сделать то, что вам нужно. Могут быть другие, более сложные способы, которые будут быстрее, чище и менее интенсивны на вашем сервере.

Программная утилита Cron – это планировщик заданий по времени в Unix-подобных компьютерных операционных системах. Люди, которые настраивают и поддерживают программные среды, используют cron для планирования заданий (команд или сценариев оболочки) для периодического запуска в определенное время, даты или интервалы.

пример