Соединение SMTP GMAIL

Я не могу подключиться к SMTP GMAIL с помощью PHPMailer.

вот ошибка:

Ошибка 25 июня 2015 г. 22:54 вечера – stream_socket_client (): невозможно подключиться к smtp.gmail.com:587 (время ожидания подключения) в /home/amiroper/public_html/beporsbedoon/app/helpers/phpmailer/smtp.php on строка 222

и это мой код:

$this->_mail->isSMTP(); $this->_mail->Host = "smtp.gmail.com"; $this->_mail->SMTPAuth = true; $this->_mail->Username = "amiroperator@gmail.com"; $this->_mail->Password = "*********"; $this->_mail->SMTPSecure = "tls"; $this->_mail->Port = "587"; $this->_mail->SMTPDebug = 4; $this->_mail->From = "AmirOperator"; $this->_mail->FromName = 'amiroperator@gmail.com'; $this->_mail->addAddress("amiroperator@outlook.com", "test"); $this->_mail->isHTML(true); $this->_mail->Subject = 'Registration confirm'; $this->_mail->Body = 'Thank you for registering to activate your account please click on this link. ".DIR."account/activate/$id/$activasion"'; $this->_mail->AltBody = 'Thank you for registering to activate your account please click on this link. ".DIR."account/activate/$id/$activasion"'; if(!$this->_mail->send()) { $data['mailsent'] = false; } else { $data['mailsent'] = true; } 

неправильный код php или проблема с соединением

Ваш сервер не может подключиться к smtp.gmail.com на порту 587 . У меня такая же проблема с инструментом тестирования :

 Resolving hostname... Connecting... SMTP -> ERROR: Failed to connect to server: Connection timed out (110) Message sending failed. 

С моей локальной машины он отлично работает:

 Trying 74.125.195.108... Connected to gmail-smtp-msa.l.google.com. Escape character is '^]'. 220 mx.google.com ESMTP be3sm8900765wib.21 - gsmtp 

Возможно, в Google существуют временные проблемы из США (я здесь в Германии) или что-то в этом роде. В вашем коде нет очевидной ошибки. Вы можете попробовать только позже или с помощью другого SMTP-сервера.

Кроме того, вы можете попытаться установить соединение с 74.125.195.108 напрямую (просто отключите проверку сертификата SSL).


EDIT: просто попробуйте tls://smtp.gmail.com качестве хоста.

Откорректируйте протокол аутентификации и номер порта в коде:

 // Your Current Settings $mail->SMTPSecure = 'tls'; $mail->Port = 587; // Updated Settings $mail->SMTPSecure = 'ssl'; $mail->Port = 465; 

Я обнаружил, что PHPMailer, когда он настроен на использование SMTP-серверов Gmail с протоколом проверки подлинности TLS и номером порта 587, просто не работает. Однако у меня никогда не было проблем с использованием SSL / 465.

Настройки SMTP Google

Разница между TLS и SSL