2016-04-30 5 views
-1

Я пытаюсь отправить почту с помощью phpmailer, но получив эту ошибку «Ошибка SMTP connect()». Я уже разрешил менее безопасные приложения в gmail. Правильно ли настроена smtp? Пожалуйста, направляйте меня, где я ошибаюсь.вопрос-ответ phpmailer. Не удалось избавиться от ошибки smtp connect()

<?php 

    require_once 'PHPMailer-master/PHPMailerAutoload.php'; 
    require 'PHPMailer-master/class.phpmailer.php'; 
    require 'PHPMailer-master/class.smtp.php'; 

     $mail = new PHPMailer(); 
     $mail->IsSMTP(); 
     $mail->SMTPAuth = true; 

     $mail->host = 'smtp.gmail.com'; 
     $mail->username = '[email protected]'; 
     $mail->password = 'mypassword'; 
     $mail->SMTPSecure = 'tls'; 
     $mail->Port = 587; 
     $mail->SMTPDebug = true; 

     $mail->isHTML(); 

     $mail->Subject = 'form data'; 
     $mail->Body = 'this is the body of message'; 

     $mail->FromName = 'The Form'; 

     $mail->AddAddress('[email protected]','Junaid Shaikh'); 


     if($mail->send()) 
     { 
      echo "sent successfully"; 
      die(); 
     } 
     else 
     { 
      echo "could not send"; 
     } 

?> 
+1

Ошибка говорит все, она не может подключиться к заданным учетным данным. Порт 587 иногда блокируется хостинг-провайдером. Это может быть проблемой. – Bsienn

+0

Я пробую это на localhost. Что мне делать? –

+1

Попробуйте, что написал Педро. – Bsienn

ответ

2

Использование ErrorInfo в phpmail, чтобы посмотреть, что случилось

добавить перед отправкой электронной почты

$mail->SMTPDebug = 2; //enables SMTP debug information (for testing) 

и изменение от

echo "could not send"; 

в

echo "Mailer Error: " . $mail->ErrorInfo; 

Примечания:

  1. Прочитайте phpmail устранение неисправностей, в частности часть, которая говорит о "SMTP Error: Could not connect to SMTP host."
  2. Используйте официальный gmail example из PHPMailer GitHub репо.
  3. Возможно, у вас должно быть allow less secure apps to access your gmail account
  4. Ваш IP-адрес может быть заблокирован Google.

UPDATE:

Из официального примера phpmailer GMAIL:

$mail->Host = gethostbyname('smtp.gmail.com'); 
// if your network does not support SMTP over IPv6 
+0

$ mail-> ErrorInfo; выдает ошибку smtp connect(). И я уже разрешил менее безопасные приложения на gmail. –

+0

Пробовал ли вы использовать пример gmail, представленный в рефакторе phpailer github? https://github.com/PHPMailer/PHPMailer/blob/master/examples/gmail.phps –

+0

hey pedro, после того, как вы предложили в своем последнем обновлении, я получаю этот вывод .... http: // imgur .com/5pk1Nry –

1

Ваши настройки PHPMailer в порядке я думаю, что это менее безопасно проблема доступа приложений. , вы должны сделать свой gmail менее защищенным, чтобы получить доступ. получил этот url https://www.google.com/settings/security/lesssecureapps для доступа к вашему Gmail как SMTP.

+0

В чем разница между вашим ответом и мой ? –

+0

@Pedro Lobito я не видел, что строка ниже жаль из-за этого –

+0

Я уже разрешил менее безопасные приложения на gmail –

Смежные вопросы