Я пытаюсь настроить тип системы уведомлений, который будет предупреждать меня, когда мой веб-сайт не работает, используя crontab
и mailx
. Я пошел дальше и установил mailx
на моем сервере, а затем попытался отправить простое тестовое электронное письмо, выполнив: mail -s "Testing" myemail.com < /dev/null
, но я ничего не получаю в свой почтовый ящик. Единственное сообщение, которое я вижу после ввода этой команды: mailx
говоря, что тело является нулевым, что совершенно нормально для этой ситуации.
Я начал искать в Интернете и заметил, что для mailx
для работы мне нужно настроить MTA
используя что-то вроде mutt
или postfix
, но мой сервер уже настроен с postfix
поэтому я бы подумал, что это привело бы к ошибке при отправке электронного письма.
Я действительно мало знаю о mailx
или postfix
если на то пошло, мне немного сложно отладить эту проблему, когда ошибок нет. Если кто-нибудь знает, почему это происходит, я был бы очень признателен. Спасибо!
Если сообщение успешно передано в postfix, немедленной ошибки не будет. Проверьте mailq
чтобы узнать, находится ли сообщение в очереди почты, и посмотрите /var/log/maillog
(или эквивалент) для ошибок доставки.
Может быть много причин, по которым сообщение не доставляется. Двумя наиболее распространенными из них являются (а) то, что ваш провайдер услуг блокирует исходящие почтовые соединения, чтобы предотвратить спам, или (б) ваш почтовый провайдер блокирует соединения с вашим сервером, поскольку он является потенциальным источником спама, например этот IP-адрес ранее использовался для рассылки спама и находится в черном списке. Вам нужно будет проверить журналы для диагностики.
В более общем плане, почему бы не использовать такие службы, как UptimeRobot или Hetrix Tools, которые делают это и имеют бесплатный уровень?