Php 未发送Laravel 5密码重置电子邮件

Php 未发送Laravel 5密码重置电子邮件,php,email,authentication,laravel-5,Php,Email,Authentication,Laravel 5,我正在尝试在我的Laravel 5.1应用程序上重置密码。我已经按照文档()来完成这项工作。但是,每当我点击我的/password/email/上的“重置密码”按钮时,就不会发送任何电子邮件 我故意输入了不正确的电子邮件,我收到了相应的错误,但是当我输入正确的电子邮件时,没有发送任何电子邮件,也没有收到任何类型的邮件或任何电子邮件 我查看了我的数据库,它看起来确实像是一个密码重置令牌正在创建,只是没有发送电子邮件 我的电子邮件配置工作正常,因为我的应用程序的其他部分可以正常发送电子邮件,只有这一

我正在尝试在我的Laravel 5.1应用程序上重置密码。我已经按照文档()来完成这项工作。但是,每当我点击我的
/password/email/
上的“重置密码”按钮时,就不会发送任何电子邮件

我故意输入了不正确的电子邮件,我收到了相应的错误,但是当我输入正确的电子邮件时,没有发送任何电子邮件,也没有收到任何类型的邮件或任何电子邮件

我查看了我的数据库,它看起来确实像是一个密码重置令牌正在创建,只是没有发送电子邮件

我的电子邮件配置工作正常,因为我的应用程序的其他部分可以正常发送电子邮件,只有这一部分不发送电子邮件。任何帮助都将不胜感激,因为我不知道还有什么需要检查的

迈克尔

routes.php: `

password.blade.php:

<form id="contact-form" class="contact-section" method="POST" action="/password/email">
            <input type="hidden" name="_token" value="<?php echo csrf_token(); ?>">
            <span class="pre-input"><i class="fa fa-envelope-o"></i></span>
            <input class="name plain buffer" type="email" name="email" placeholder="Email" value="{{ old('email') }}">
            <input id="send" class="plain button yellow" type="submit" value="Reset Password">
              @foreach($errors->all() as $error)
              <font size="3" color="red">{{ $error }}</font>
              @endforeach

          </form> 
Click here to reset your password: {{ url('password/reset/'.$token) }}
更新 我已经在postEmail功能中添加了日志

    public function postEmail(Request $request)
{
    $this->validate($request, ['email' => 'required|email']);

    $response = Password::sendResetLink($request->only('email'), function (Message $message) {
        $message->subject($this->getEmailSubject());
 Log::info('Password Reset Execute -1 '); //Does work here


    });

    switch ($response) {

        case Password::RESET_LINK_SENT:
            return redirect()->back()->with('status', trans($response));

        case Password::INVALID_USER:
            return redirect()->back()->withErrors(['email' => trans($response)]);
    }

    Log::info('Password Reset Execute - 2'); //Will not work here
}

如果问题的发件人无效,请确保您传递了正确的发件人

$message->from('hello@app.com', 'Your Application');

我在.env中添加了这些,密码重置又开始工作了

MAIL_FROM_ADDRESS=xx@xx.xx
MAIL_FROM_NAME=xxxx

请同时发布您的电子邮件视图的内容。你应该在
resources/views/emails/password.blade.php
@maiorano84中有一个文件,我刚刚添加了这个文件,但是我所做的一切都是直接从Laravel站点复制和粘贴代码的。这个文件以前不在那里吗?因为Auth需要该文件的存在才能发送电子邮件。另外,你是在宅地里还是在当地的虚拟机里?或者这是在公共服务器上?最后,您在
config/mail.php
.env
文件下的邮件设置是什么?@maiorano84是的,我已经创建了电子邮件视图,并且位于正确的位置,尽管我之前尝试过运行,当然它会抛出一个错误,即找不到该视图。我目前在DigitalOcean的公共虚拟机上托管了这个。我的邮件配置在
config/mail.php
下,代码为:
'driver'=>env('mail\u driver','mandrill'),
您是否收到任何错误,或者只是电子邮件没有发送。你能检查一下laravel.log吗?我最后在
config/mail.php文件
中找到并设置了全局设置,因为我不想编辑一个laravel文件并在编写器更新时丢失它。谢谢你的帮助,米娜!你需要帮忙吗?此外,更新不应更改您的应用程序文件。只有供应商文件。我找到了,一切正常。我一直在使用的文件是一个供应商文件-
vendor/laravel/framework/src/illighte/Foundation/Auth/ResetsPasswords.php
This works。对于Laravel5.4,默认值不随这两个选项一起提供。在
config/mail.php
中,它被设置为
hello@example.com
MAIL_FROM_ADDRESS=xx@xx.xx
MAIL_FROM_NAME=xxxx