Laravel Gmail не работает, «Имя пользователя и пароль не принимаются. Выучить больше…"

Когда я пытаюсь отправить электронное письмо через мой сайт, на котором работает Laravel 4, я получаю это исключение:

{"error":{"type":"Swift_TransportException","message":"Expected response code 250 but got code \"535\", with message \"535-5.7.8 Username and Password not accepted. Learn more at\r\n535 5.7.8 http:\/\/support.google.com\/mail\/bin\/answer.py?answer=14257 y70sm14744455qgd.3 - gsmtp\r\n\"","file":"\/var\/www\/vendor\/swiftmailer\/swiftmailer\/lib\/classes\/Swift\/Transport\/AbstractSmtpTransport.php","line":386}} 

Вот моя почтовая конфигурация:

 return array( 'driver' => 'smtp', 'host' => 'smtp.gmail.com', 'port' => 465, 'from' => array('address' => 'mymail@gmail.com', 'name' => 'myname'), 'encryption' => 'ssl', 'username' => 'mymail@gmail.com', 'password' => 'lol', 'sendmail' => '/usr/sbin/sendmail -bs', 'pretend' => false, ); 

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

Есть ли способ сказать Google «остановить блокировку этого IP-адреса, это я»?

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

Они показали возможность отключить этот параметр безопасности, посетив https://www.google.com/settings/security/lesssecureapps .

Перейдите по этой ссылке и отключите разблокировку Captcha https://accounts.google.com/b/0/DisplayUnlockCaptcha

Попробуй это:

  1. Изменить порт на 587
  2. Установите gmail на https://www.google.com/settings/security/lesssecureapps и активируйте его.

https://www.google.com/settings/security/lesssecureapps и активировать его. https://accounts.google.com/b/0/DisplayUnlockCaptcha и активируйте его.

'port' => env ('MAIL_PORT', 587),
'encryption' => env ('MAIL_ENCRYPTION', 'tls'),

Я знаю, что это не отвечает на ваш вопрос … но я бы сказал, не используйте gmail для отправки SMTP.

Используйте службу, например mandrill / mailgun … IE – сервис, созданный для такого типа вещей. Смотрите мою настройку мандрилла здесь:

http://laravel.io/forum/07-06-2014-mail-with-mandrill-doesnt-work?page=1#reply-10154

Mandrill бесплатно дает вам 12k электронных писем в месяц.

У меня было много вопросов, которые нашли ответ для этого. Затем, после большого количества проб и ошибок, я нашел решение для этого. Большая часть решения выше работала для других, но это помогло мне до 50%.

Итак, вот как это сработало для меня (100%):

  1. Активировать 2-х шаговую проверку в google
  2. Теперь вы сможете создавать приложения. Открой это.
  3. Создайте новое приложение (другое приложение) и укажите свое имя приложения.
  4. Теперь создайте пароль.

Далее в файле laravel, Goto .env и изменении

  MAIL_USERNAME= 'App Name you created' MAIL_PASSWORD= 'Generated Password for that app' 

Это должно иметь возможность отправлять письма из вашей учетной записи gmail. Пожалуйста, оставьте комментарий, если он не работает для вас.

Вы активировали двухэтапную аутентификацию Google? Если это так, вам необходимо определить новый пароль «для конкретного приложения»: http://www.google.com/landing/2step/ .