Трудно что-либо подсказать при таком описании проблемы. Было бы неплохо указывать чуть больше информации. В частности:
1) Что за система?CentOS, Debian? Какая версия.
2) Как настроена почтовая система?Какой MTA или SMTP клиент используется (exim, postfix, msmtp)? Было бы здорово приложить конфигурационный файл.
3) Как именно производится удачный вызов скрипта отправки письма из консоли?Приложить команду, набираемую в консоле. Например:
Код |
---|
$ php -r "mail('some@mail.com', 'Some subject', 'Some body');" |
4) Как именно производится неудачный вызов скрипта по крону?Приложить строку из crontab. Что-то вроде:
Код |
---|
* * * * * /usr/bin/php -r "mail('some@mail.com', 'Some subject', 'Some body');" |
5) Показать выдержку из лога MTA или SMTP клиента в период запуска скрипта через cron.Логи можно найти в /var/log. Например, для msmtp это, как правило, файл /var/log/msmtp.log.
6) Показать результат выполнения скрипта через cron.Как правило, если в процессе выполнения произошла ошибка, ее можно найти в /var/spool/mail/<имя пользователя>.
7) Показать переменные окружения для случая вызова скрипта отправки почты из консоли (удачный случай) и для cron (неудачный случай).В crontab добавить:
Код |
---|
* * * * * env > /tmp/env_cron |
Подождать минуту. Убрать запись из crontab. Приложить содержимое файлов /tmp/env_user и /tmp/env_cron.