Laravel, не могу отправить электронное письмо. Ошибка аутентификации на SMTP-сервере с именем пользователя с использованием 3-х возможных аутентификаторов. - PullRequest
0 голосов
/ 04 июля 2019

Я пытаюсь отправить электронную почту с помощью электронной почты Google и перепробовал множество решений, но не работает, я попробовал конфигурацию php artisan: продолжите кэширование и включите «Разрешить менее безопасные приложения» и разблокируйте свой аккаунт для доступа через другие медиа/ sites и пытались включить 2 способа проверки, но та же ошибка

.env:

 MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=****@gmail.com
MAIL_PASSWORD=*****
MAIL_ENCRYPTION=tls

mail.php

 'driver' => env('MAIL_DRIVER', 'smtp'),
 'host' => env('MAIL_HOST', 'smtp.gmail.com'),
  'port' => env('MAIL_PORT', 587),
 'from' => ['address' => null, 'name' => null],
 'encryption' => env('MAIL_ENCRYPTION', 'tls'),
 'username' => env('****@gmail.com'),
 'password' => env('****'),
  'sendmail' => '/usr/sbin/sendmail -bs',

контроллер

 public function store(Request $request)
  {  

    $data = request()->except(['_token']);

     $check =OfferBooking::create($data);
    $arr = array('msg' => 'Something goes to wrong. Please try again lator', 'status' => false);
    if($check){ 
    $arr = array('msg' => 'Thank you for your booking, we will contact you soon', 'status' => true);
    }
   Mail::send('offer.email',
     [
    'name' => $request->get('name'),
    'email' => $request->get('email'),
    'details' => $request->get('details')
    ], function($message)
     {
    $message->from('ashqahman@gmail.com');
    $message->to('ashqahman@gmail.com')->subject('New Reservation');
});
$response = [
    'status' => 'success',
    'msg' => 'Mail sent successfully',
];

    return Response()->json($arr);

}

Ответы [ 3 ]

0 голосов
/ 04 июля 2019

Не забудьте запустить php artisan config: cache после внесения изменений в ваш файл .env.

0 голосов
/ 04 июля 2019

пожалуйста, перезагрузите сервер, и он будет работать нормально

0 голосов
/ 04 июля 2019

В вашем mail.php изменении

'username' => env('****@gmail.com'),
'password' => env('****'),

до

'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),

не изменяйте mail.php напрямую, так как он будет принимать данные из вашего .env файла

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...