Intereting Posts
Laravel 5 InvalidArgumentException в строке FileViewFinder.php 137: View не найден Ошибка при запуске: Не удалось загрузить ресурс: net :: ERR_CONNECTION_RESET Преобразование объекта в JSON и JSON в Object в PHP (библиотека, подобная Gson для Java) Как я могу получить доступ к скрипту из корня по протоколу http? Черный список слов по содержимому для фильтрации сообщения Имеет ли PHP обратную функцию date () (кроме strtotime ())? Как решить ошибку JSON_ERROR_UTF8 в php json_decode? Doctrine2 экспортирует объект в массив Как выдать запрос HTTP POST? Загрузочная разбивка по страницам встроенная реализация «Валидатор» Laravel «иногда» терпит неудачу с вложенными массивами Как получить контент метаописания с помощью Goutte PHP / mysql получает количество затронутых строк оператора UPDATE Получать пользовательские данные с помощью токена доступа в приложении клиента паспорта laravel Извлечение данных из корзины и отправка по почте

PHP Неустранимая ошибка: «Swift_TransportException» с сообщением «Не удалось выполнить проверку подлинности на SMTP-сервере

Я знаю, что этот вопрос был задан раньше, и я прочитал все сообщения там, но я до сих пор не могу найти решение этого.

У меня есть машина для Windows с установленным на ней креплением. Когда я пытаюсь отправить простую электронную почту через SMTP-сервер Google, все работает нормально. Хотя, когда я копирую тот же самый скрипт на машину Ubuntu 12, это дает мне такую ​​ошибку:

PHP Fatal error: Uncaught exception 'Swift_TransportException' with message 'Failed to authenticate on SMTP server with username "xxx@gmail.com" using 2 possible authenticators' in /home/TestMail/SwiftMail/lib/classes/Swift/Transport/Esmtp/AuthHandler.php:171 Stack trace: /home/TestMail/SwiftMail/lib/classes/Swift/Transport/EsmtpTransport.php(289): Swift_Transport_Esmtp_AuthHandler->afterEhlo(Object(Swift_SmtpTransport)) /home/TestMail/SwiftMail/lib/classes/Swift/Transport/AbstractSmtpTransport.php(114): Swift_Transport_EsmtpTransport->_doHeloCommand() /home/TestMail/SwiftMail/lib/classes/Swift/Mailer.php(76): Swift_Transport_AbstractSmtpTransport->start() /home/TestMail/testmail.php(73): Swift_Mailer->send(Object(Swift_Message)) thrown in /home/TestMail/SwiftMail/lib/classes/Swift/Transport/Esmtp/AuthHandler.php on line 171 

Вот как я инициализирую транспорт:

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

Я попытался подключиться telnet к smtp.gmail.com на порту 465, и он работал нормально, поэтому он не должен быть проблемой межсетевого экрана.

У меня SSL с поддержкой PHP. Я пытался отправить две отдельные письма с и без SSL с другим почтовым сервером, и все работало как шарм. Это только почта Google, которая меня злит.

Любые идеи приветствуются здесь.

Весь мой PHP-код:

 <?php require_once 'SwiftMail/lib/swift_required.php'; // Create the Transport $transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'ssl') ->setUsername('xxx@gmail.com') ->setPassword('xxx'); // Create the Mailer using your created Transport $mailer = Swift_Mailer::newInstance($transport); $htmlbody = 'some html here'; // Create a message $message = Swift_Message::newInstance('without head') ->setFrom(array('<from email>' => '<some sender>')) ->setTo(array('<to email>' => '<some recepient>')) ->setBody($htmlbody, 'text/html'); // Send the message $result = $mailer->send($message); var_dump($result); ?> 

Благодаря!

Это старый поток, но моя резолюция была немного иной для той же ошибки. Оказывается, моя конфигурация Swift прекрасна. IP-адрес моего сервера был заблокирован Google как подозрительный. Я смог очистить его, посетив эту ссылку, а затем выполнив код моей почтовой программы с сервера.

http://www.google.com/accounts/DisplayUnlockCaptcha

Вы также можете проверить, что проверка аутентификации в 2 этапа не включена. Это было для меня.

Добро пожаловать в SO. Это более длинный комментарий, чем ответ. Приятно видеть, что вы отправили сообщение об ошибке:

PHP Неустранимая ошибка: исключить исключение «Swift_TransportException» с сообщением «Не удалось выполнить проверку подлинности на SMTP-сервере с именем пользователя« xxx@gmail.comm »с использованием 2 возможных аутентификаторов в / home / TestMail / SwiftMail / lib / classes / Swift / Transport / Esmtp / AuthHandler.php: 171

Частью этого является фактическое сообщение:

Не удалось выполнить аутентификацию на SMTP-сервере с именем пользователя «xxx@gmail.comm», используя 2 возможных аутентификатора

Я бы сказал, что это опечатка, которую вы сделали:

 xxx@gmail.comm ^ 

Может случиться. Убедитесь, что вы используете правильные учетные данные. Также, если вы найдете похожие вопросы на сайте, это не значит, что они охватывают вашу проблему.

Надеюсь, это поможет, в противном случае попытайтесь предоставить больше информации об ошибках, например, есть ли журнал с swiftmailer? Вы дважды проверили учетные данные и конфигурацию сервера? Что делает брандмауэр? И так далее.