Назад | Перейти на главную страницу

Crontab не отправляет электронное письмо с выводом

У меня странная проблема с crontab. Я правильно настроил crontab для запуска задания cron следующим образом:

[user@user ~]$ crontab -e
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=myemail@mydomain.co.uk
HOME=/

2 * * * * php usr/share/nginx/html/site/script.php

Сценарий запускается, я знаю это, потому что сценарий - это всего лишь базовый тест, который использует функцию mail (), чтобы я знал, что он запущен.

Но я не получаю письмо от crontab, чтобы сообщить мне, что скрипт запущен. Я должен получать выходное электронное письмо на указанный выше адрес MAILTO, но это не так. Я даже пробовал использовать кавычки вокруг адреса.

В Sendmail нет ничего плохого, потому что в противном случае скрипт не смог бы отправлять электронную почту. В адресе электронной почты нет ничего плохого, потому что код mail () в script.php отправляется на тот же адрес электронной почты.

Технически я мог бы просто отправить вывод электронной почты таким способом, а не полагаться на crontab, но я знаю, что это неправильный способ.

Есть идеи, где я ошибаюсь?

PS. Это сервер Centos 6.3.

Что вы можете сделать, так это удалить этот MAILTO, а затем просто использовать корневой сервер пересылки.

/root/.forward <- просто поместите туда свой адрес электронной почты, больше ничего. Предполагая, что вы выполняете задание cron от имени пользователя root. Вы также можете сделать это через /etc/aliasesдобавьте строку: user: my@email.com

Я бы проверил журнал cron и почты, чтобы узнать, есть ли сообщения об ошибках. Может ли это быть также возможным, что электронное письмо попало в папку нежелательной почты или почтовый сервер получателя отклонил письмо из-за недопустимого имени отправителя или имени хоста и т. Д.?