Php 如何修复';无法使用3个可能的验证器在SMTP服务器上使用用户名进行身份验证';

Php 如何修复';无法使用3个可能的验证器在SMTP服务器上使用用户名进行身份验证';,php,laravel,smtp,Php,Laravel,Smtp,我试图在我的Laravel 5.8应用程序上向新的注册用户发送邮件,但每次我都收到来自SwiftMailer的错误 “”“ 无法使用用户名“bisht”对SMTP服务器进行身份验证。gaurav808@gmail.com“使用3个可能的验证器 1) 验证器CRAM-MD5返回预期的响应代码235,但得到代码“535”,并显示消息“535.7.0无效登录或密码”。 2) 验证器登录返回预期的响应代码250,但得到的响应为空。 3) 验证器返回预期的响应代码250,但得到的响应为空 “”“ 我在“S

我试图在我的Laravel 5.8应用程序上向新的注册用户发送邮件,但每次我都收到来自SwiftMailer的错误

“”“ 无法使用用户名“bisht”对SMTP服务器进行身份验证。gaurav808@gmail.com“使用3个可能的验证器

1) 验证器CRAM-MD5返回预期的响应代码235,但得到代码“535”,并显示消息“535.7.0无效登录或密码”。 2) 验证器登录返回预期的响应代码250,但得到的响应为空。 3) 验证器返回预期的响应代码250,但得到的响应为空 “”“

我在“StackOverflow”中查找了解决方案,并在mail.php、.env和google帐户中做了一些更改

到目前为止,我所没有的

1) 在Google帐户中启用两步验证 2) 在Gmail中生成应用程序密码。 3) 在.env文件中更新我的配置

 mail.php



return [

    'driver' => env('MAIL_DRIVER', 'smtp'),
'host' => env('MAIL_HOST', 'smtp.gmail.com'),
'port' => env('MAIL_PORT', 587),
 'from' => [
        'address' => env('MAIL_FROM_ADDRESS', 'bisht.gaurav808@gmail.com'),
        'name' => env('MAIL_FROM_NAME', 'PASS'),
    ],

  'encryption' => env('MAIL_ENCRYPTION', 'ssl'),
 'username' => env('MAIL_USERNAME','bisht.gaurav808@gmail.com'),
'password' => env('MAIL_PASSWORD','ucluxxxxxxxxaejq'),
  'sendmail' => '/usr/sbin/sendmail -bs',
'markdown' => [
        'theme' => 'default',

        'paths' => [
            resource_path('views/vendor/mail'),
        ],
    ],
  'log_channel' => env('MAIL_LOG_CHANNEL'),

];

我建议您使用支持PHP的SMTP库。您只需更改几个参数即可使其正常工作。[link]()看看这个回购协议,它也有例子。
.env file

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=465
MAIL_USERNAME=bisht.gaurav808@gmail.com
MAIL_PASSWORD="ucluxxxxxxxxaejq"  // i have replace my gmail password with app 
                                     password provided by Gmail
MAIL_AUTH_MODE: login
MAIL_ENCRYPTION=ssl