Laravel 5.2重置密码+ Mandrill

时间:2015-12-24 13:57:28

标签: laravel mandrill laravel-5.2

我有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
  5. 所以似乎一切都正确完成。

    当我填写电子邮件以重设密码并按发送密码重置链接按钮时,我收到以下错误

      

    服务器错误:POST https://mandrillapp.com/api/1.0/messages/send-raw.json导致了错误   500 Internal Server Error回复:   {"状态":"错误""代码": - 1,"名称":" ValidationError",& #34;消息":"你   必须指定一个键值"}

    我已经检查了我的登录Mandrill(https://mandrillapp.com/settings/api)我的行动没有日志。

    从Mandrill的错误中,我知道它没有得到api密钥,因此由于某种原因,api密钥和其他值没有传递给Mandrill api。

    问题:缺少什么/错误?

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

    enter image description here

1 个答案:

答案 0 :(得分:2)

如果您使用的是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