Swiftmailer с Gmail

Поэтому я пытаюсь использовать swiftmailer для отправки писем с использованием учетной записи Gmail. Я знаю, что есть вопросы, которые решают эту проблему, но ни одно из предложенных решений не помогло мне. Моя проблема в том, что когда я запускаю свой код, я получаю «Неустранимая ошибка PHP: необнаруженное исключение« Swift_TransportException »с сообщением« Ожидаемый код ответа 250, но получен код «535», с сообщением «535-5.7.8 Имя пользователя и пароль не приняты». Я знаю, что мой пароль и имя пользователя указаны правильно, и двухэтапная проверка Google не включена. Вот мой код:

require_once ‘vendor / swiftmailer / swiftmailer / lib / classes / Swift.php’;
Swift :: registerAutoload ();

require_once 'vendor/swiftmailer/swiftmailer/lib/swift_required.php';
require_once 'vendor/swiftmailer/swiftmailer/lib/swift_init.php';

$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 587, 'tls')
->setUsername ('[email protected]')
->setPassword ('mypassword');

$mailer = Swift_Mailer::newInstance($transport);

$message = Swift_Message::newInstance('Weekly Hours')
->setFrom (array('[email protected]' => 'My Name'))
->setTo (array('[email protected]' => 'Recipient'))
->setSubject ('Weekly Hours')
->setBody ($data, 'text/html');

$result = $mailer->send($message);

Обратите внимание, что я также пробовал порт 465 с шифрованием ‘lss’. Заранее спасибо.

4

Решение

Проблема может быть связана с тем, что Google может использовать диапазон IP-адресов.

Я решил проблему в моем случае примерно так:

 #get the host dynamically
$smtp_host_ip = gethostbyname('smtp.gmail.com');

#set the transport
$transport = Swift_SmtpTransport::newInstance($smtp_host_ip,465,'ssl')->setUsername('[email protected]')->setPassword('mypassword');

Я надеюсь, что это помогает.

-1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]