好吧,我目前正在使用Mandrill发送电子邮件。 我假设这是不是的问题。这个测试路线,例如火灾罚款。Laravel 5.2身份验证脚手架重置密码电子邮件不烧 - 排队?
public function email($emailAddress){
$data = array(
'email' => $emailAddress,
'name' => 'Test Name'
);
$result = Mail::queue('emails.test', $data, function ($message) use ($data){
$message->from(Config::get('settings.contact_form_from.address'), Config::get('settings.contact_form_from.name'));
$message->sender(Config::get('settings.contact_form_from.address'), Config::get('settings.contact_form_from.name'));
$message->to($data['email'], $data['name']);
$message->subject('Test email to: ' . $data['email']);
});
return $this->response($result);
}
这是使用queue
函数。如果调整为Mail::send()
也工作正常。因此,我所有的队列处理程序和邮件环境变量都工作正常。 (我可以在Mandrill看到这两封电子邮件)。
所以我的问题是密码重置功能,我已经安装了使用Laravel 5.2 Auth脚手架。
所以,路线等一切正常 - 只是没有电子邮件发送。
它正确识别用户是否存在(显示正确的错误信息)。
然后我看看源代码,稍微有点迷路,需要帮助!
如果我在这里看... ...Illuminate\Foundation\Auth\ResetPasswords.php
我可以看到这种方法。
公共函数sendResetLinkEmail(请求$请求) { $这 - > validateSendResetLinkEmail($请求);
$broker = $this->getBroker();
$response = Password::broker($broker)->sendResetLink(
$this->getSendResetLinkEmailCredentials($request),
$this->resetEmailBuilder()
);
switch ($response) {
case Password::RESET_LINK_SENT:
return $this->getSendResetLinkEmailSuccessResponse($response);
case Password::INVALID_USER:
default:
return $this->getSendResetLinkEmailFailureResponse($response);
}
}
如果我在$response
打破我得到的响应,它被正确发送。所以我认为这与Password::broker
部分有关,这里的代码完全让我失望。
任何帮助非常感谢!
谢谢!我看了很多东西,甚至没有看到这个!它被设置为空,希望它抛出一个错误! –