Яндекс корпоративная почта и phpmailer

Тема в разделе "PHP", создана пользователем e64f, 17 июл 2014.

Статус темы:
Закрыта.
Модераторы: latteo
  1. e64f

    e64f Постоялец

    Регистр.:
    2 ноя 2008
    Сообщения:
    95
    Симпатии:
    6
    Для домена my-domain.kz настроена - яндекс корпоративная почта.

    Все работает нормально, настроена программа The Bat - отправление и получение писем есть.

    Но при попытке отправить письмо программно (через class.phpmailer.php) возникает ошибка:
    2014-07-17 08:40:26 SMTP ERROR: Failed to connect to server: Connection timed out (110) SMTP connect() failed. Mailer Error: SMTP connect() failed.

    Можете ли вы ответить в чем причина?

    Предполагаемые варианты проблемы:
    1) Настройки на стороне хостера?
    2) Неправильные параметры для класса phpmailer (см. вложение)?
    3) Такая возможность закрыта Яндексом?


    PHP:
    <?php
    require_once("lib/phpmailer2/class.phpmailer.php");
      
    $mail = new PHPMailer(); //создаем экземпляр класса

    $mail->IsSMTP();
    $mail->SMTPDebug 2;
    $mail->SMTPAuth true;
    $mail->SMTPSecure "ssl";
    $mail->Host "smtp.yandex.ru";
    $mail->Port 465;
    $mail->Username "info@my-domain.kz";
    $mail->Password "super-password";  //
    $mail->SetFrom('info@my-domain.kz');
    $mail->Subject 'This is a test';
    $mail->Body 'This is a test of my mail system!';
    $address "target-email@gmail.com";
    $mail->AddAddress($address);

    if(!
    $mail->Send()) {
    echo 
    "Mailer Error: " $mail->ErrorInfo;
    } else {
    echo 
    "Message sent!";
    }
    ?>
     
  2. Gang

    Gang Создатель

    Регистр.:
    28 янв 2013
    Сообщения:
    19
    Симпатии:
    7
    Вот мой рабочий пример использования phpmailer. Правда для гугла, но может будет полезно
    PHP:
    require_once('phpmailer/class.phpmailer.php');
      
    $Mail = new PHPMailer();
      
    $Mail->IsSMTP(); // Use SMTP
      
    $Mail->Host        "smtp.gmail.com"// Sets SMTP server
      
    $Mail->SMTPDebug   0// 2 to enable SMTP debug information
      
    $Mail->SMTPAuth    TRUE// enable SMTP authentication
      
    $Mail->SMTPSecure  "tls"//Secure conection
      
    $Mail->Port        587// set the SMTP port
      
    $Mail->Priority    3// Highest priority - Email priority (1 = High, 3 = Normal, 5 = low)
      
    $Mail->CharSet     'UTF-8';
      
    $Mail->Encoding    '8bit';
      
    $Mail->Subject     "Feedback from my-domain.com.";
      
    $Mail->ContentType "text/html; charset=utf-8\r\n";
      
    $Mail->From        'mail@my-domain.com';
      
    $Mail->Username    'mail@my-domain.com'// SMTP account username
      
    $Mail->Password    'pass'// SMTP account password
      
    $Mail->FromName    'My domain';
      
    $Mail->WordWrap    900// RFC 2822 Compliant for Max 998 characters per line

    $Mail->AddAddress('test@gmail.com');
     
  3. Anu

    Anu Постоялец

    Регистр.:
    19 окт 2007
    Сообщения:
    137
    Симпатии:
    13
    попробуйте так:
    исправьте порт на 25
    $mail->Port = 25;
    и уберите SSL
    $mail->SMTPSecure = "";
     
    powerfullman нравится это.
  4. Girt

    Girt Постоялец

    Регистр.:
    11 фев 2012
    Сообщения:
    87
    Симпатии:
    62
    Connection timed out (110) SMTP connect() failed. Mailer Error: SMTP connect() failed. говорит о том, что не установилось соединение с smtp.yandex.ru:465. У Яндекса эта возможность не закрыта, The Bat работает точно также, и если у The Bat-а нет проблем, то скорее всего проблема в хостере. Чтобы это проверить, попробуйте открыть сокет(smtp.yandex.ru:465) средствами php и посмотреть что получится.
     
  5. warg

    warg Постоялец

    Регистр.:
    26 июн 2007
    Сообщения:
    122
    Симпатии:
    122
    с компьютера на котором запускается скрипт
    - проверить если ли соединение:
    telnet smtp.yandex.ru 25
    telnet smtp.yandex.ru 465
    и если соединится то "EHLO localhost" и посмотреть что выдает
    - проверить поддерживает ли сборка apache + php ssl, через phpinfo() например.
    если нет то настроить :) либо же использовать не SSL метод подключения
     
  6. dandandan

    dandandan

    Регистр.:
    7 авг 2008
    Сообщения:
    975
    Симпатии:
    255
    У Яндекса вылазит такая ошибка, когда вы шлете много писем. Например, когда делаете массовую рассылку писем.

    Еще возможно на хостинге (сервере) закрыты порты для отправки почты. Пишите в техподдержку.
     
  7. maxubta

    maxubta Писатель

    Регистр.:
    23 июн 2014
    Сообщения:
    4
    Симпатии:
    0
    У гугл тоже самое, но потому что они видят подключение не из программы клиента, а из "сторонних" приложений. Например из Битрикс24 и айпи Австралии - я так и не смог зайти в гугл, при этом получал кучу писем о попытках взлома. Перестарались.
     
  8. donvictorio

    donvictorio

    Регистр.:
    28 янв 2010
    Сообщения:
    868
    Симпатии:
    796
    яндекс же недавно отключил ssl, остался TLS.
     
  9. dandandan

    dandandan

    Регистр.:
    7 авг 2008
    Сообщения:
    975
    Симпатии:
    255
    У яндекса подключал phpmailer примерно год назад для сервиса рассылок. Были только проблемы, описанные мною выше.
     
  10. janhelly

    janhelly Писатель

    Регистр.:
    12 фев 2013
    Сообщения:
    1
    Симпатии:
    1
Статус темы:
Закрыта.