2015-02-09 1 views
0

Префикс Lemme, этот вопрос, говоря, что я искал в течение 3 дней новые данные gmail, которые можно использовать для отправки писем.Gmail и Swift почтовая программа больше не работает как

Так при строительстве транспорта Свифта, я providing this

Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'tls') 

А также, вместо 465, обеспечивая 587 не повезло. Ошибка такова, что она начинает запускать бесконечный цикл, а затем выполнение скрипта останавливается.

Данные (имя пользователя/пароль) на 100% правильны и были протестированы изолированно. (с манекеном test.php witn включено Swift библиотека), если это поможет.

Конкретно:

<?php 

// File:test.php 


require(__DIR__ . '/vendor/SwiftMailer/swift_required.php'); 

$email = '[email protected]'; 
$pass = 'my-password'; 

$html = '<p>Foo bar</p>'; 

// Build a transport 
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 587, 'tls') 
      ->setUsername($email) 
      ->setPassword($pass); 

$mailer = Swift_Mailer::newInstance($transport); 
$message = Swift_Message::newInstance('New email') 
           ->setFrom(array($email => 'Test app')) 
           ->setTo(array($email)) 
           ->setBody($html, 'text/html'); 


$mailer->send($message); 

он бросает:

Uncaught исключение 'Swift_TransportException' с сообщением 'Невозможно соединиться с TLS шифрования'

А при использовании:

$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'ssl') 

Он заканчивается бесконечной петлей.

Устали от поиска в Google для этой проблемы Gmail. Может быть, кто-то столкнулся с этим и уже имеет решение?

+0

попробуйте открыть вопрос в github https://github.com/swiftmailer/swiftmailer/issues – Saqueib

+0

465 использует ssl, а 587 использует tls. (потребовалось всего несколько секунд, чтобы найти соответствующую документацию google: https://support.google.com/a/answer/176600?hl=ru). Из документов Swift: Для шифрования SSL или TLS для работы в вашей установке PHP должны быть установлены соответствующие оболочки OpenSSL. Вы можете проверить, присутствует ли «tls» и/или «ssl» в вашей установке PHP, используя функцию PHP stream_get_transports() –

+0

@Markus no, я уже упоминал, сказав, что устал от поиска этой проблемы, и что я уже столкнулись с такими рекомендациями, как ваши. Моя проблема в том, что она работала в прошлом, но теперь она больше не работает. И да, я хорошо знаю, что ему нужны tls или ssl, так что да, они загружены. – Yang

ответ

0

Вы проверили SSL на вашем PHP?

extension=php_openssl.dll в PHP.ini?

Или проверить, что ваш администратор сети связан с проблемой отправки почтового порта?

+0

Да, как я уже упомянул в комментариях, SSL включен – Yang

+0

@bad_boy жаль, что я не вижу вашу команду, я встречал проблему с отправкой электронной почты, я делаю это хорошо в моем доме, но он отправляет электронное письмо с ошибкой, когда я иду на демонстрацию моей школы интернет-школы учителя bcoz, отправьте адрес электронной почты по электронной почте, чтобы вы могли попробовать свой код с другим подключением к Интернету – koe

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