Подтвердить что ты не робот

"Ошибка SMTP: не удалось аутентифицировать" в PHPMailer

Я использую PHPMailer в Simple Script Для отправки электронной почты через Gmail, и я получаю "Неизвестную ошибку" (по крайней мере, для меня!):

Ошибка SMTP: не удалось выполнить проверку подлинности. Ошибка: ошибка SMTP: не удалось аутентификации.

Ошибка сервера SMTP: 5.7.1 Имя пользователя и Пароль не принимается. Узнайте больше на 535 5.7.1 http://mail.google.com/support/bin/answer.py?answer=14257p38sm2467302ybk.16

Я читал о настройке OpenSSL для соединений SSL/TLS, и я это сделал. Apache и PHP правильно настроены (с расширением OpenSSL Запуск в PHP и mod_ssl в Apache 2.2.16).

Это PHP Script:

 <?php
  require_once ("PHPMailer\class.phpmailer.php");
  $Correo = new PHPMailer();
  $Correo->IsSMTP();
  $Correo->SMTPAuth = true;
  $Correo->SMTPSecure = "tls";
  $Correo->Host = "smtp.gmail.com";
  $Correo->Port = 587;
  $Correo->UserName = "[email protected]";
  $Correo->Password = "gmailpassword";
  $Correo->SetFrom('[email protected]','De Yo');
  $Correo->FromName = "From";
  $Correo->AddAddress("[email protected]");
  $Correo->Subject = "Prueba con PHPMailer";
  $Correo->Body = "<H3>Bienvenido! Esto Funciona!</H3>";
  $Correo->IsHTML (true);
  if (!$Correo->Send())
  {
    echo "Error: $Correo->ErrorInfo";
  }
  else
  {
    echo "Message Sent!";
  }
?>

Пользователь и пароль в порядке, И я пробовал в Thunderbird без каких-либо проблем. Я также использовал SSL-аутентификацию и порт 465, получив ту же ошибку.

4b9b3361

Ответ 1

Попробуйте это вместо:

$Correo → Имя пользователя= "[email protected]";

Я протестировал его и отлично работал без каких-либо других изменений.

Ответ 2

Я столкнулся с этой проблемой. Чтобы это работало, мне нужно было перейти на страницу myaccount.google.com → "Вход и безопасность" → "Приложения с доступом к аккаунту" и включить "Разрешить менее безопасные приложения" на " ON "(в нижней части страницы).

enter image description here

Ответ 3

это проблема с GMail

прочитайте эту Справку Google (https://support.google.com/mail/answer/14257?p=client_login&rd=1)

  • Откройте веб-браузер и войдите в Gmail по адресу http://mail.google.com/mail. Если вы видите запрос проверки слова, введите буквы в искаженном изображении и завершите вход.
  • Закройте браузер и попробуйте снова обратиться к своим сообщениям в своем почтовом клиенте.
  • Если у вас все еще есть проблемы, посетите http://www.google.com/accounts/DisplayUnlockCaptcha и войдите в систему со своим именем пользователя и паролем Gmail. При необходимости введите буквы в искаженном изображении.
  • Нажмите "Продолжить".
  • Перезапустите почтовый клиент и попробуйте снова получить доступ к сообщениям в вашем почтовом клиенте.

SMTP Error: Could not authenticate

Gmail issue

Ответ 4

Я получил ту же ошибку, и в моем случае это был пароль. У моего пароля есть специальные символы, и если вы укажете пароль без экранирования специальных символов, ошибка будет продолжать отображаться. Например, $mail->Password = " por$ch3"; действителен, но не будет работать с использованием приведенного выше кода. Решение должно быть следующим: $mail->Password = "por\$ch3"; Обратите внимание на обратную косую черту, которую я поставил перед символом доллара в моем пароле. Это должно работать, если у вас есть пароль с использованием специальных символов

Ответ 5

Я получил эту ошибку из-за процентных знаков в пароле.

Ответ 6

Для меня у меня были специальные символы в моем поле пароля, и я поместил его как $mail- > Password = "por $ch3", которые работают на сервере gmail smpt, но не для других; поэтому я просто изменил двойные кавычки на одинарные кавычки, и это работает для меня. $mail- > Пароль = 'por $ch3';

Ответ 7

Если вы по-прежнему сталкиваетесь с ошибкой при отправке электронной почты с тем же сообщением об ошибке. Попробуйте следующее:

$mail->SMTPSecure = 'tls';
$mail->Host = 'smtp.gmail.com';

just Перед строкой:

$send = $mail->Send();

или в другом смысле, перед вызовом функции Send().

Протестировано и работает.

Ответ 8

У меня была такая же проблема и все советы, включая настройки Gmail (например, менее безопасный доступ к приложениям), не удались. Но, наконец, когда я сменил пароль на что-то другое, почему-то это сработало! FYI, у начального пароля не было никаких специальных символов.

Ответ 9

[решено]. Я испытал ту же ошибку при настройке плагина WP-Mail-SMTP в Wordpress.

Проблема будет сохраняться, даже если у меня есть "тройной флажок" настроек и учетных данных для входа и я могу войти в систему вручную, используя браузер.

Вот список шагов, которые вы можете предпринять, чтобы исправить это.

  • Создайте новый пароль для учетной записи Gmail, которую хотите использовать
  • Включить менее безопасные приложения в Настройки безопасности Google
  • Используйте Display Unlock Captcha page, чтобы дать вашему приложению или веб-сайту разрешение на вход в Gmail. Нажмите Continue или следуйте инструкциям.
  • Войдите в систему, используя приложение или веб-сайт. Параметры smtp, которые работают для меня: 1) SMTP Host: smtp.gmail.com 2) SMTP-порт: 587 3) Шифрование: TLS 4) Аутентификация: аутентификация SMTP 5) Имя пользователя: [email protected] 6) Пароль: examplesecret

Ответ 10

У меня была такая же проблема с аутентификацией. Исправление заключалось в том, чтобы установить двухэтапную аутентификацию и создать специальный пароль для устройства для устройства (сообщения об ошибках для блокировки устройства будут отображаться в настройках вашей учетной записи → "Уведомления и предупреждения", если у вас проблемы с моими проблемами)

Ответ 11

Это была проблема selinux. Я просто обновил приведенную ниже часть в файле /etc/selinux/config SELINUX=permissive (ранее SELINUX = принудительное выполнение). затем просто перезагрузите систему, перезагружать Теперь почта идет без всяких хлопот. Конфигурация

From Email Address : [[email protected]]
From Name : [your domain name]
SMTP Host   : smtp.gmail.com
Type of Encryption : SSL
SMTP Port : 465
SMTP Authentication  : YES
Username : [your mail id]
Password : [your password]

Ответ 12

Ошибка SMTP: не удалось аутентифицировать У меня такая же проблема. Следующие шаги по устранению неполадок помогли мне.

  • Я отключил двухфакторную аутентификацию в моей учетной записи gmail.
  • Я разрешил менее безопасным приложениям получать доступ к моей учетной записи gmail. Чтобы заставить его работать, мне нужно было перейти к myaccount.google.comSign-in & securityApps with account access и превратить Allow less secure apps в ON (в нижней части страницы).
  • На этом этапе, когда я попытался зарегистрировать пользователя, я получил бы ту же ошибку. Google отправил мне предупреждающее сообщение о том, что у кого-то есть мой пароль, и логин заблокирован.
  • Затем Gmail предоставит вам варианты. Вы либо нажимаете, была ли ваша деятельность вашей или нет. Выберите вариант, в котором была ваша деятельность.
  • Повторите попытку. Теперь он должен работать.

Ответ 13

В вашем коде нет проблем.

Ниже приведены два простых шага для отправки писем с phpmailer.

  • Вы должны отключить двухэтапную настройку подтверждения для учетной записи Google, если она включена.

  • Включите ON, чтобы разрешить доступ к менее защищенному приложению.

Ответ 14

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

a. Go to the URL of 'https://myaccount.google.com/' and click 'Sing-in and security'

b. Click on the app password. 

enter image description here

You will reach a page like this,

enter image description here

c. Create name of your app and generate a password for the respective app.  

d. Use that password acquired here inside the app.

Это должно решить проблему.

Ответ 15

У меня была та же проблема, и все советы были безуспешно. Наконец, когда я сменил пароль на что-то другое, по какой-то причине это сработало! (исходный или новый пароль не содержит специальных символов)