Вход • Регистрация

Отправка уведомлений через SMTP и новый модуль "Уведомления"

  • 02 февраля 2019 г. , редакция: 02 февраля 2019 г.
  • Уважаемые коллеги !

    Может кто сталкивался с такой проблемой:

    есть 2 сайта на хостинге timeweb.ru (разные аккаунты) - 1-ый не с последними обновлениями, включена SMTP авторизация, всё прекрастно работает уже год.

    2-ой сайт обновлён до последнй версии, появился раздел "Уведомления", та же самая настройка для отправки уведомлений через SMTP авторизацию не работает ни в какую.

    Настройки в модулях для:

    "E-mail, указываемый в обратном адресе пользователю" и "E-mail для уведомлений администратора" - тот же мейл что и в аккаунте SMTP.

    Аккаунт SMTP рабочий и проверенный в почтовом клиенте TheBat!, на отправку и получение.

    Конечно на всякий случай пробовал на 2-ом сайте разные варианты - с ssl:// и без и даже с ящика на Mail.ru - не приходт вообще, в новом разделе "Уведомления" - одни ошибки.

    Не рискую обновлять 1-ый сайт...

    Ещё добавлю, оба сайта с HTTPS, вобщем то это не влияет, но всё же, кастомизация есть но 90% это вьюшки, 10% никак не затрагивает отправку уведомлений, т.к. всегда всех устраивало и работало, не было причин что то менять там.





    • 02 февраля 2019 г.
    • Кажется с первого взгляда всё в порядке.

      Но напрягает 1 момент SMTP-хост.
      Если так прописывать mail или yandex то работать будет 100%. Проверено на просто огромном количестве ресурсов.
  • 02 февраля 2019 г.
  • Исходящий сервер SMTP у Таймвэба именно такой - smtp.timeweb.ru ( в настройке Диафан пишем - ssl://smtp.timeweb.ru )

    И он работает на первом сайте уже год без проблем, а вот на втором ни в какую :-(
  • 02 февраля 2019 г.
  • Режим разработки включите и в модуле уведомлений будет видно сразу, что именно ответил почтовый сервер. Хост неправильный, логин, пароль или ещё что-то.
    До компа доберусь, могу файл smtp_check.php выложить, его на сайт кладете, запускаете и видно, что не пашет.
    Иногда, кстати, не пускает по ssl и портам 465, 567, а помогает просто стереть все протоколы, оставив просто smtp.timeweb.ru и порт 25. А иногда надо mail.yourmaildomain.ru поставить. Короче, эти вариации поподбирайте.
    • 02 февраля 2019 г.
    • Голосую за то чтобы его в дистрибутив воткнули.
      • 02 февраля 2019 г.
      • Так он там примерно и есть. Все сообщения в режиме разработки в последней сборке и выводятся в модуле уведомлений.
        • 03 февраля 2019 г.
        • Надо нам это в одно место переносить, а то центральные настройки в одном месте, инфо о проблемах - в другом и только при включённом режиме разработчика. Полагаю, надо сделать сразу кнопку какую-нибудь "проверить", чтобы сразу выводило инфу о (не)правильном подключении.

          Велосипед изобретать не надо, достаточно посмотреть как в том же Thunderbird ящики заводятся. Всё проверяется на месте. Если ОК, сохранение, нет - сохранить нельзя.
  • 02 февраля 2019 г.
  • Спасибо ! Буду пробовать, как найду рабочие настройки выложу сюда.
  • 02 февраля 2019 г.
  • Киньте пожалуйста smtp_check.php если не затруднит. Так же непонятно почему на 1-ом сайте с такими же настройками но без модуля "Уведомления" всё работает.
    • 02 февраля 2019 г.
    • Цитата
      Так же непонятно почему на 1-ом сайте с такими же настройками но без модуля "Уведомления" всё работает

      Сделайте резервную копию файлов и базы данных сайта. Отключите сторонний код на сайте так, чтобы работал только дефолтный. Обновите cms до актуальной версии cms. Далее
      Цитата
      Режим разработки включите и в модуле уведомлений будет видно сразу, что именно ответил почтовый сервер.
      Приведите здесь ответ почтового сервера, поможем решить проблему.
  • 03 февраля 2019 г.

  • Добрый день !

    Отключить сторонний код не могу, сайт в Я.Маркете и Гугл покупках... В день 200 хостов... и заказы

    Версия актуальная, обновлений нет.

    Попробовал как таймвэбщики сказали:

    $message = "Line 1\nLine 2\nLine 3";
    $message = wordwrap($message, 70);
    var_dump(mail('yandex@yandex.ru', 'My Subject', $message));

    Всё уходит... без авторизации SMTP

    Скачал PHPMailer с примером с отправкой с SMTP с github, не работает !

    bool(true) 2019-02-03 07:34:54 SMTP ERROR: Failed to connect to server: Connection refused (111)
    SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
    Message could not be sent. Mailer Error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

    На другом сервере Таймвэб с этим же SMTP аккаунтом пример с PHPMailer-ом работает ! Версия PHP одинаковая.

    Хостинг ?

    В режиме разработки в Уведомлениях то же - connection failed (ответ PHPMailer-а и ссылка на траблы на офсайте)



    • 03 февраля 2019 г.
    • Может правда настрйоки сервера.
  • 03 февраля 2019 г. , редакция: 03 февраля 2019 г.
  • Может пригодится кому тест для SMTP отправки используя PHPMailer (вложения закоментировал):

    use PHPMailer\PHPMailer\PHPMailer;
    use PHPMailer\PHPMailer\Exception;

    require 'phpmailer/src/Exception.php';
    require 'phpmailer/src/PHPMailer.php';
    require 'phpmailer/src/SMTP.php';

    $mail = new PHPMailer(true); // Passing `true` enables exceptions
    try {
    //Server settings
    $mail->SMTPDebug = 2; // Enable verbose debug output
    $mail->isSMTP(); // Set mailer to use SMTP
    $mail->Host = 'smtp.timeweb.ru'; // Specify main and backup SMTP servers
    $mail->SMTPAuth = true; // Enable SMTP authentication
    $mail->Username = 'info@site.ru'; // SMTP username
    $mail->Password = 'password'; // SMTP password
    $mail->SMTPSecure = 'ssl'; // Enable TLS encryption, `ssl` also accepted
    $mail->Port = 465; // TCP port to connect to

    //Recipients
    $mail->setFrom('info@site.ru', 'Mailer');
    $mail->addAddress('мейл получателя', 'Joe User'); // Add a recipient
    $mail->addAddress('Мейл получателя'); // Name is optional
    $mail->addReplyTo('info@site.ru', 'Information');
    //$mail->addCC('cc@example.com');
    //$mail->addBCC('bcc@example.com');

    //Attachments
    //$mail->addAttachment('/var/tmp/file.tar.gz'); // Add attachments
    //$mail->addAttachment('/tmp/image.jpg', 'new.jpg'); // Optional name

    //Content
    $mail->isHTML(true); // Set email format to HTML
    $mail->Subject = 'Here is the subject';
    $mail->Body = 'This is the HTML message body <b>in bold!</b>';
    $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

    $mail->send();
    echo 'Message has been sent';
    } catch (Exception $e) {
    echo 'Message could not be sent. Mailer Error: ', $mail->ErrorInfo;
    }
  • 03 февраля 2019 г.
  • Попробовал

    $mail->SMTPAuth = false; // Enable SMTP authentication

    в true, тоже самое, refused
  • 03 февраля 2019 г.
  • Оно и было TRUE, FALSE для тестов ставил, исправьте в примере выше
  • 03 февраля 2019 г.
  • Отаетила ТП Таймвэба:

    К сожалению, техническая поддержка хостинга не осуществляет анализ и исправление пользовательского кода сайтов, поэтому Вам необходимо будет решить эту проблему самостоятельно. Дополнительную информацию Вы можете найти на тематических ресурсах сети Интернет или в службе поддержки используемой Вами CMS.

    Если Вы по каким-то причинам не можете самостоятельно разрешить Вашу проблему, Вы можете обратиться к сторонним специалистам. Найти их Вы можете, например, в разделе Marketplace нашего сообщества: community.timeweb.com/marketplace

    Если у Вас появятся дополнительные вопросы, пожалуйста, обращайтесь.
  • 03 февраля 2019 г.
  • Да это обычный phpmailer, чего его код анализировать?
    Проблема чисто в транспорте: то ли хост, то ли протокол, то ли порт. Если и создавать запрос в техподдержку, то в виде "Ребята, не могу подключиться к почтовому серверу по smtp, не пускает. Гляньте логи, в чём проблема? Использовал такое-то и такое-то." Не надо ничего про код говорить
  • 05 февраля 2019 г.
  • Добрый день !

    Ушатал Timeweb.ru - признана проблема на ихней стороне, помогла (цитата) - "...переинициализация почтового сервера ..."

    И так бывает... Всем спасибо !

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум