Я не могу подключиться к 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