Laravel 5.2 重设密码 + 山魈

Laravel 5.2 reset password + Mandrill

我有 Laravel 5.2 全新安装。

我做了以下操作:

  1. 我已经设置了我的 .env 文件 MAIL_DRIVER=mandrill SECRET=my_mandrill_api_key
  2. 我已经安装了 Guzzle (https://github.com/guzzle/guzzle)
  3. 我已经在视图中设置了我的电子邮件 (https://github.com/laravel/laravel/blob/5.0/resources/views/emails/password.blade.php)
  4. 我已解决证书问题 (PHP cURL error code 60)

所以看起来一切都正确完成了。

当我填写电子邮件以重置密码并按发送密码重置 Link 按钮时,出现以下错误

Server error: POST https://mandrillapp.com/api/1.0/messages/send-raw.json resulted in a 500 Internal Server Error response: {"status":"error","code":-1,"name":"ValidationError","message":"You must specify a key value"}

我已经检查了我在 Mandrill (https://mandrillapp.com/settings/api) 中的日志,没有我的操作日志。

从 Mandrill 的错误中,我知道它没有得到 api 键,所以由于某种原因 api 键和其他值没有传递给 Mandrill api .

问题:什么是missing/wrong?

注意:现在我正在构建应用程序的本地环境。我的本地环境 Windows 10/Bitnami WAMP stack 7/ 我也在用 Mandrill API.

如果您使用的是 Mandrill 驱动程序,那么您必须在 .env 文件中设置 MANDRILL_SECRET

其他设置MAIL_HOSTMAIL_PORT等用于其他驱动程序。

请参阅有关使用 Mandrill 驱动程序的文档 here。它提到您应该在 config/services.php 中设置 Mandrill 密钥,但您实际上应该使用环境变量来设置它,因此如果您自定义了文件,请将其改回

'mandrill' => [
    'secret' => env('MANDRILL_SECRET'),
],

然后您将能够从 .env 文件中读取 MANDRILL_SECRET 值。

因此在您的 .env 文件中您将拥有;

MAIL_DRIVER=mandrill
MANDRILL_SECRET=your_mandrill_key_here