У меня проблема с запуском задания cron (правильно).php mail скрипт не работает с cron
Я создал (очень большой, но свел на нет) PHP странице, которая вызывает почту()
<?
mail('[email protected]', 'subject', 'test');
mail('[email protected]', 'subject', 'test');
?>
Затем я создал свои хроны, который запускает файл. Строка кода в кронтаб -e выглядит следующим образом:
12 0 * * * /opt/lampp/bin/php /opt/lampp/htdocs/atlantis/application/controllers/cron.php
Если я запускаю команду/Opt/lampp/bin/PHP /opt/lampp/htdocs/atlantis/application/controllers/cron.php из терминала , Я получаю электронное письмо, отправленное мне. Однако, если я запускаю одну и ту же строку из задания cron, это не сработает.
Следующей остановкой было проверить журналы. Я запускаю Ubuntu с sSMTP.
Apr 16 11:49:17 drew-Virtual crontab[4722]: (drew) END EDIT (drew) //EDITED CRON
//Calling cron.php file from terminal
Apr 16 11:49:31 drew-Virtual sSMTP[4791]: Creating SSL connection to host
Apr 16 11:49:32 drew-Virtual sSMTP[4791]: SSL connection using RSA_AES_128_CBC_SHA1
Apr 16 11:49:34 drew-Virtual sSMTP[4791]: Sent mail for [email protected] (221 ip-173-201-180-143.ip.secureserver.net closing connection) uid=1000 username=drew outbytes=444
Apr 16 11:49:34 drew-Virtual sSMTP[4794]: Creating SSL connection to host
Apr 16 11:49:35 drew-Virtual sSMTP[4794]: SSL connection using RSA_AES_128_CBC_SHA1
Apr 16 11:49:37 drew-Virtual sSMTP[4794]: Sent mail for [email protected] (221 ip-173-201-180-143.ip.secureserver.net closing connection) uid=1000 username=drew outbytes=454
//I successfully received 2 emails, one to my work account, one to my personal account
//Calling cron.php from cron
Apr 16 11:50:01 drew-Virtual cron[857]: (drew) RELOAD (crontabs/drew)
Apr 16 11:51:01 drew-Virtual CRON[4808]: (drew) CMD (/opt/lampp/bin/php /opt/lampp/htdocs/atlantis/application/controllers/chron.php)
Apr 16 11:51:01 drew-Virtual sSMTP[4810]: Creating SSL connection to host
Apr 16 11:51:02 drew-Virtual sSMTP[4810]: SSL connection using RSA_AES_128_CBC_SHA1
Apr 16 11:51:04 drew-Virtual sSMTP[4810]: Sent mail for [email protected] (221 ip-173-201-180-143.ip.secureserver.net closing connection) uid=1000 username=drew outbytes=698
//I did not receive any emails
Вы можете видеть, что он пытается отправить только один адрес электронной почты, и я предполагаю, что это не так, как я его никогда не получаю. Однако, это не говорит мне, почему это провалилось, и у меня нет других подсказок. Я также заметил, что outbytes больше в задании cron, чем в командной строке.
Наконец, файл php имеет полные разрешения rwx для всех.
Вы должны убедиться, что для параметра 'error_reporting' установлено значение -1, и проверьте возвращаемое значение вызова' mail() '. –
Отчет об ошибках включен (dev machine и все), и ошибок error_log нет (соответствующих). mail.log содержит ту же информацию, что и syslog, в основном, что 1 электронное письмо было отправлено из cron или 2 отправлено через CLI. – Drew
Попробуйте фиктивную отладку - поставьте фиктивный эхо между всеми строками, чтобы убедиться, что все они выполнены. –