Перестала приходить почта

С наступившими праздниками!
После смены выделенного сервера на VDS перестала приходить любая почта с сайта. Ни при регистрации пользователя, ни при публикациях, ни при комментариях. Никаких ошибок в лога сайта нет, конфигурация и софт виртуального сервера и сайта абсолютно такие-же, как и на выделенном. Сам ящик находится на Яндексе, smtp… Настроена отложенная отправка уведомлений. Я даже не представляю, что и где можно посмотреть и подкрутить?

8 комментариев

avatar
<?php
echo "Start
";

error_reporting(E_ALL);
ini_set('display_errors', 1);
set_include_path(get_include_path().PATH_SEPARATOR.dirname(__FILE__));
chdir(dirname(__FILE__));

// Получаем объект конфигурации
require_once("./config/loader.php");
require_once(Config::Get('path.root.engine')."/classes/Engine.class.php");
require_once(Config::Get('path.root.engine').'/lib/external/phpMailer/class.phpmailer.php');
require_once(Config::Get('path.root.engine').'/lib/external/phpMailer/class.smtp.php');


$mail             = new PHPMailer();

$mail->IsSMTP();
$mail->SMTPAuth   = Config::Get('sys.mail.smtp.auth');                  // enable SMTP authentication
$mail->SMTPSecure = Config::Get('sys.mail.smtp.secure');                 // sets the prefix to the servier
$mail->Host       = Config::Get('sys.mail.smtp.host');      // sets GMAIL as the SMTP server
$mail->Port       = Config::Get('sys.mail.smtp.port');                   // set the SMTP port

$mail->Username   = Config::Get('sys.mail.smtp.user');  // GMAIL username
$mail->Password   = Config::Get('sys.mail.smtp.password');            // GMAIL password
$mail->bSmtpAuth  = Config::Get('sys.mail.smtp.auth');

$mail->From       = Config::Get('sys.mail.from_email');
$mail->FromName   = Config::Get('sys.mail.from_name');
$mail->Subject    = "This is the subject";
$mail->Body    = "This is the body when user views in plain text format"; //Text Body

$mail->AddAddress("user@company.ltd","UserName");
if(!$mail->Send()) {
  echo "Mailer Error: " . $mail->ErrorInfo;
} else {
  echo "Message has been sent";
}
?>

Положите рядом с index.php, поменяйте user@company.ltd на свой. Попробуйте запустить.
avatar
Так приходят письма. Правда в кривой кодировке.
avatar
Тогда следует предположить, в кроне есть задача на отсылку отложенных уведомлений?
avatar
Само собой есть и системный лог указывает, что эта задача запускается как ей и положено.
avatar
Таблица notify_task заполняется и очищается (после отправки писем)?
  • ort
  • 0
avatar
Таблица заполняется, но постольку поскольку событие отправки не случается, не очищается.
avatar
что происходит, если в консоли напрямую запустить include/cron/notify.php?
avatar
Отрабатывает… Значит что-то всё же с кроном или с каким-то правами…
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.