【问题标题】:Issues with Laravel 5.4 reset password functionLaravel 5.4 重置密码功能的问题
【发布时间】:2017-06-24 17:56:24
【问题描述】:

在 laravel 5.4 中重置密码时出现以下错误

预期响应代码为 250,但得到代码“530”,消息“530-5.5.1 需要身份验证。了解更多信息,请访问 530 5.5.1 https://support.google.com/mail/?p=WantAuthError s7sm7398940pgb.53 - gsmtp "

我在我的环境中正确输入了用户名和密码以及 tls 和 smtp.gmail.com。 file.My mail.php 文件也有正确的凭据。 至于 gmail 方面的事情:我的安全设置已设置为通过更改我的安全设置来允许它工作:为不太安全的应用打开访问权限。

我的本​​地服务器 xampp 一直在我过去 2 年工作过的所有内容管理系统之间来回发送电子邮件。我第一次使用 laravel 5.4。

这是我的 .env 文件

APP_NAME=MyApp
APP_ENV=local
APP_KEY=base64:---------=
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://localhost

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=mydb
DB_USERNAME=root
DB_PASSWORD=mypwd

BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

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

PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=

PAYPAL_MODE=
PAYPAL_SANDBOX_CLIENT_ID=
PAYPAL_SANDBOX_SECRET=
PAYPAL_LIVE_CLIENT_ID=
PAYPAL_LIVE_SECRET=

这是我的mail.php

    <?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', 'myemail@gmail.com'),
        'name' => env('MAIL_FROM_NAME', 'myname'),
    ],

    'encryption' => env('MAIL_ENCRYPTION', 'tls'),

    /*
    |--------------------------------------------------------------------------
    | SMTP Server Username
    |--------------------------------------------------------------------------
    |
    | If your SMTP server requires a username for authentication, you should
    | set it here. This will get used to authenticate with your server on
    | connection. You may also set the "password" value below this one.
    |
    */

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

    'password' => env('myemailpwd'),

    'sendmail' => '/usr/sbin/sendmail -bs',

    'markdown' => [
        'theme' => 'default',

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

];

【问题讨论】:

  • 你用 php artisan serve 运行 laravel 吗?如果是这样,在更改您的 .env 后,重新启动服务器。
  • 已经这样做了...我还在 artisan serve 之前清除了缓存:(php artisan cache:clear and php artisan config:cache),但仍然出现错误。
  • 也许添加你的 .env 配置(没有用户名和密码)?基本上,要使电子邮件正常工作,您只需对 .env 进行更改,无需其他任何内容。 (在 gmail 的情况下,您必须允许这样做,但您已经这样做了。)
  • .env 和 config/mail.php 都必须有相同的配置。而且我的 smtp 需要授权,否则它根本不会工作......这是关于你不添加用户名的解决方案和 .env 配置中的密码
  • 我的意思是在此处发布您的代码,并在此处发布之前删除您的凭据。这不是第一次有人在某个地方打错字。现在你是唯一一个知道配置文件和 .env 发生了什么变化的人,我所看到的只是一个可能打错字的人 :)

标签: xampp laravel-5.4


【解决方案1】:

在您的 config/mail.php 中更改此项

'username' => env('MAIL_USERNAME', 'fallback email'),

'password' => env('MAIL_PASSWORD', 'fallback password'),

第一个参数用于在 .env 中定义的键,第二个是默认值,以防env('KEY') 返回 null。

问题是现在它在.env文件中搜索键'myemail@gmail.com',它不存在,键名为'MAIL_USERNAME'

【讨论】:

  • 谢谢兄弟。我编辑了 config/mail.php 但我仍然收到密码重置错误响应::Swift_TransportException in AbstractSmtpTransport.php 第 383 行:预期响应代码 250 但得到代码“530” ,并带有消息“530-5.5.1 需要身份验证。在 530 5.5.1 support.google.com/mail/?p=WantAuthError75sm21180112pfk.113 - gsmtp 了解更多信息”
  • 通过键入:php artisan tinker 并键入:config('mail'); 打开修补程序。这些值是否正确?
  • 这篇文章的3个选项怎么样:learninglaravel.net/…
猜你喜欢
  • 2017-08-31
  • 2017-08-04
  • 2019-07-21
  • 2018-06-04
  • 2018-02-27
  • 2019-06-04
  • 2013-05-17
  • 1970-01-01
  • 2018-01-29
相关资源
最近更新 更多