Ожидаемый код ответа 220, но получил код «», с сообщением «» в Laravel

Я использую функцию Laravel Mail для отправки электронной почты. Ниже приведены app/config/mail.php файла app/config/mail.php .

 'driver' => 'sendmail', 'host' => 'smtp.gmail.com', 'port' => 587, 'from' => array('address' => 'email@gmail.com', 'name' => 'MyName'), 'encryption' => 'tls', 'username' => 'myUsername', 'password' => "password", 'sendmail' => '/usr/sbin/sendmail -bs', 'pretend' => false, 

Метод почты контроллера

 //Send Mail Mail::send('sendMail', array('key' => 'value'), function($message) { $message->to('EmailId@hotmail.com', 'Sender Name')->subject('Welcome!'); }); 

Когда я запускаю код, он дает мне следующее сообщение об ошибке:

Swift_TransportException

Ожидаемый код ответа 220, но получил код "", с сообщением ""

Я создал файл SendMail.php который содержит некоторые данные.

Как разрешить это сообщение об ошибке?

Эта проблема может возникнуть, когда вы не включаете двухэтапную аутентификацию для учетной записи gmail вы используете для отправки email . Итак, во-первых, включите two step verification , вы можете найти множество ресурсов для обеспечения двухэтапной проверки. После его включения вам необходимо создать app password . И используйте app password в вашем .env файле. Когда вы закончите с этим, ваш .env файл будет выглядеть примерно так.

 MAIL_DRIVER=smtp MAIL_HOST=smtp.gmail.com MAIL_PORT=587 MAIL_USERNAME=<<your email address>> MAIL_PASSWORD=<<app password>> MAIL_ENCRYPTION=tls 

и ваш mail.php

 <?php return [ 'driver' => env('MAIL_DRIVER', 'smtp'), 'host' => env('MAIL_HOST', 'smtp.gmail.com'), 'port' => env('MAIL_PORT', 587), 'from' => ['address' => '<<your email>>', 'name' => '<<any name>>'], 'encryption' => env('MAIL_ENCRYPTION', 'tls'), 'username' => env('MAIL_USERNAME'), 'password' => env('MAIL_PASSWORD'), 'sendmail' => '/usr/sbin/sendmail -bs', 'pretend' => false, ]; 

После этого запустите php artisan config:cache и php artisan config:clear , затем проверьте, электронная почта должна работать.

В моем случае мне пришлось установить

 MAIL_DRIVER=smtp MAIL_HOST=smtp.gmail.com MAIL_PORT=587 MAIL_USERNAME=<<your email address>> MAIL_PASSWORD=<<app password>> MAIL_ENCRYPTION= ssl <<<<<<<------------------------- (FOCUS THIS) 

работать. Может быть полезно. Остальная часть кода была такой же, как @Sid. разница только в

 MAIL_ENCRYPTION= ssl 

И я не думаю, что редактирование файла среды и app / config / mail.php не требуется. Просто используйте один метод.