Если письма с отчётами, отправленные обычным образом, не доходят получателю, попробуйте организовать собственную отправку отчётов одним из способов, описанных ниже.

Важные моменты:

  • На почту будет отправляться только то, что выводит выполняемая команда.
  • При использовании утилит wget и curl не следует использовать ключ -q, который подавляет вывод.
Чтобы организовать отправку отчёта, выполните следующее:
  1. Создайте файл с именем report.php в корне хостинг-аккаунта и поместите в него скрипт из инструкции, указав в нём свои данные.
  2. В скрипте дополнительно замените строку:
    $text = "Привет, проверка связи по SMTP."; // содержимое отправляемого письма

    На строку:

    $text = shell_exec(addslashes($argv[1]) . " 2>&1");
  3. Добавьте задачу cron и в качестве задачи укажите следующую команду:
    /usr/local/bin/php -f /home/example/report.php "command"
  4. Рекомендуется предварительно запустить команду вручную, подключившись по SSH, чтобы убедиться в том, что она работает именно так, как задумано.
Чтобы организовать отправку отчёта без создания дополнительных файлов, выполните следующее:
  1. Добавьте задачу cron у в качестве задачи укажите следующую команду:
    OUTPUT=$(command);echo -e "Subject:cron report\n${OUTPUT}" | sendmail -f "sender@example.com" -t "receiver@example.com"
    • Вместо command укажите команду, по которой вы хотите получать отчёты.
    • Текст cron script это тема письма, её можно заменить на свою.
    • Вместо sender@example.com укажите любой почтовый ящик домена, направленного на наш хостинг.
    • Вместо receiver@example.com укажите почтовый ящик получателя отчёта.
  2. Настоятельно рекомендуем настроить SPF и DMARC политики для домена, ящик которого был указан в команде в качестве отправителя.
  • hosting/cron/issues/reports-not-reach-recipient.txt
  • Последнее изменение: 2020/07/28 09:19
  • zinenko