Php Laravel Gmail无法正常工作;不接受用户名和密码。了解更多……”;

Php Laravel Gmail无法正常工作;不接受用户名和密码。了解更多……”;,php,laravel,gmail,Php,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.goog

当我试图通过运行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,
);
我已经尝试了通过谷歌搜索这个问题找到的禁用链接,除了它没有什么不同


有没有办法告诉谷歌“停止阻止这个IP,是我”?

你是否激活了两步谷歌身份验证?如果是,则需要定义新的“应用程序特定密码”密码:

您是否激活了两步谷歌身份验证?如果是,则需要定义新的“应用程序特定密码”密码:

我知道这不能回答你的问题。。。但我要说的是,不要使用gmail发送SMTP

使用mandrill/mailgun之类的服务。。。为这类事情提供的服务。在此处查看我的mandrill设置:


Mandrill每月免费给你发送12000封电子邮件。

我知道这并不能回答你的问题。。。但我要说的是,不要使用gmail发送SMTP

使用mandrill/mailgun之类的服务。。。为这类事情提供的服务。在此处查看我的mandrill设置:


Mandrill每月免费给你发送12000封电子邮件。

我也尝试过同样的方法,但也出现了同样的错误。所以我亲自检查了我的gmail帐户,我收到了一条来自gmail本身的消息,告诉我他们阻止了对我电子邮件帐户的访问

他们显示了通过访问禁用此安全设置的选项


如果你访问已经登录到你的Gmail帐户的链接,事情实际上会变得更直接。

我尝试了同样的方法,但得到了同样的错误。所以我亲自检查了我的gmail帐户,我收到了一条来自gmail本身的消息,告诉我他们阻止了对我电子邮件帐户的访问

他们显示了通过访问禁用此安全设置的选项


如果你访问已经登录到你的Gmail帐户的链接,事情会变得更直接。

转到该链接并禁用解锁验证码

转到此链接并禁用解锁验证码 试试这个:

  • 将端口更改为587
  • 转到gmail设置 并激活它
  • 试试这个:

  • 将端口更改为587
  • 转到gmail设置 并激活它
  • 并激活它。 并激活它

    'port' => env('MAIL_PORT', 587), <br>
    'encryption' => env('MAIL_ENCRYPTION', 'tls'),
    
    'port'=>env('MAIL\u port',587),
    'encryption'=>env('MAIL_encryption','tls'),
    并激活它。 并激活它

    'port' => env('MAIL_PORT', 587), <br>
    'encryption' => env('MAIL_ENCRYPTION', 'tls'),
    
    'port'=>env('MAIL\u port',587),
    'encryption'=>env('MAIL_encryption','tls'),
    我在寻找答案时遇到了很多问题。经过反复试验,我找到了解决这个问题的办法。上面的大多数解决方案对其他解决方案都有效,但它可以帮助我达到50%

    所以,这就是它对我的作用(100%):

  • 在google中激活两步验证
  • 现在您将能够创建应用程序。打开它
  • 创建新应用程序(其他应用程序)并给出应用程序名称
  • 现在生成密码
  • 接下来在laravel中,转到.env文件并进行更改

        MAIL_USERNAME= 'App Name you created'
        MAIL_PASSWORD= 'Generated Password for that app'
    
    这应该能够发送电子邮件从您的gmail帐户。
    如果对您不起作用,请留下评论。

    我在寻找答案时遇到了很多问题。经过反复试验,我找到了解决这个问题的办法。上面的大多数解决方案对其他解决方案都有效,但它可以帮助我达到50%

    所以,这就是它对我的作用(100%):

  • 在google中激活两步验证
  • 现在您将能够创建应用程序。打开它
  • 创建新应用程序(其他应用程序)并给出应用程序名称
  • 现在生成密码
  • 接下来在laravel中,转到.env文件并进行更改

        MAIL_USERNAME= 'App Name you created'
        MAIL_PASSWORD= 'Generated Password for that app'
    
    这应该能够发送电子邮件从您的gmail帐户。
    如果对您不起作用,请留下评论。

    从用户名中删除@gmail.com,您已经提到了smtp。所以你的用户名上不需要@gmail.com。我100%确定这是你的问题,因为我有这个问题。

    从用户名中删除@gmail.com,你已经提到了smtp。所以你的用户名上不需要@gmail.com。我100%确定这是你的问题,因为我有这个问题。

    刚刚注册了一个Mandrill帐户,现在我的Laravel PHP应用程序发送电子邮件很好。非常感谢。它不再是免费的Mandrill,选择其他服务,如mailgun等。刚刚注册了一个Mandrill帐户,现在我的Laravel PHP应用程序可以发送电子邮件了。非常感谢。它在Mandrill上不再是免费的,选择其他服务,如mailgun等。@trinity420这只是因为出于安全考虑,Google默认阻止了SMTP的不安全登录。@trinity420这只是因为出于安全考虑,Google默认阻止了SMTP的不安全登录。我遇到了一个问题,因为我使用了用户名而不是用户名。我遇到了一个问题,因为我使用了用户名而不是“用户名”