На неком хостинге реализован php-скрипт, автоматически рассылающий серии писем подписчикам.
Если этот скрипт запустить "вручную" то он полностью выполняет свою задачу: 1)Анализирует MySQL-базу данных 2) Рассылает необходимые письма по расписанию 3) регистрирует свои действия в логах 4) корректирует изменения в базе .
Если же этот скрипт запускать с использованием крона, то скрипт выполняет всё, кроме пункта 2) . То есть: данные в базе обновляются, в логи пишутся отчеты про удачно отправленные письма, но сами письма до адресатов не доходят.
ПОЧЕМУ ТАК ПОЛУЧАЕТСЯ?
Техподдержка сайта морозится и предлагает сменить хостинг. Но кроме этой "детали" остальное меня устраивает... :(
Может крону (или мне, как пользователю системы) как-то запрещено рассылать письма?
КАК ЭТО ИСПРАВИТЬ?
PS: Варианты скрипта для крона и для ручного запуска отличаются только тем, что в случае крона первой командой стоит chdir("Рабочая папка скрипта (с логами)"); Т.к. рабочая папка скрипта, запущенного кроном - корень папки пользователя, а логи лежат в одной из папок сайта. В остальном версии скриптов одинаковы!
LinuxForum.Fans
Cron не хочет отправлять письма
Автор: shoa
2 сообщений
970 просмотров
shoa, в сеансе пользователя имеются переменные среды. Если запускать через крон то их не будет. Попробуйте поискать проблему в этом направлении. Т.е. создать bash-скрипт, который бы создавал все нужные переменные, а потом запускал ваш скрипт на php.
Войдите или зарегистрируйтесь, чтобы ответить.