Поэтому я пытаюсь использовать 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’. Заранее спасибо.
Проблема может быть связана с тем, что 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');
Я надеюсь, что это помогает.
Других решений пока нет …