Как отправлять электронные письма через cron job usng PHP mysql - PullRequest
9 голосов
/ 30 июля 2010

Мне удалось отправить несколько электронных писем ( проверьте здесь ). Я застрял с автоматической рассылкой электронных писем через cron.

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

Ответы [ 2 ]

9 голосов
/ 30 июля 2010

Просто напишите обычный PHP-скрипт - сделайте так, чтобы он работал, если он запускается прямо из браузера. Затем запланируйте запуск того же самого PHP-файла в cron, используя это в качестве руководства:

http://www.unixgeeks.org/security/newbie/unix/cron-1.html

В основном, используя значения в начале, укажите расписание (минута, час, день недели, день месяца и т. Д.). Затем установите пользователя, от имени которого он запускается, что, скорее всего, будет «apache» или что-то еще, под чем работает ваш демон веб-сервера. Затем установите для «команды», которую запускает cron, значение php php_email_script.php (где «php_email_script.php» - это имя вашего файла PHP.

5 голосов
/ 30 июля 2010

30 минут и до сих пор нет ответа, вот несколько открытых дверей:

  • cron читает свои правила из всей системы /etc/crontab или из вашего личного crontab, который вы редактируете с помощью crontab -e
  • cron принимает формат, в котором вы говорите, в какую минуту / час / день / месяц должны происходить события, используйте Google или man crontab для формата
  • cron обладает удивительным побочным эффектом, отправляя выходные данные команды пользователю, владеющему crontab

Теперь вы заявляете, что используете php. Самый простой способ запустить php из cron - это запустить wget -O - -q http://yoursite.com/yourprocessingscript.php?verysecret=123123 и иметь соответствующий скрипт обработки на yoursite.com. (вы можете позволить этому сценарию проверять $ _SERVER ['REMOTE_ADDR'])

Короче говоря, если вы просто поместите правильную магию в / etc / crontab, например

0 0 * * * jay wget -q -O - "http://yoursite.com/processmidnight.php?secret=yes_very"

и ваш скрипт выдаст какой-то разумный вывод, вы получите почту, доставленную локальному пользователю jay, которую вы, возможно, захотите переслать.

...