Lumen和Mandrill - 未定义的索引:秘密

Chr*_*oni 2 mandrill lumen laravel-5.1

我有一个简单的网站构建,Lumen我需要使用发送电子邮件Mandrill.

我在.env文件中设置了:

MAIL_DRIVER=mandrill
MAIL_HOST=smtp.mandrillapp.com
MAIL_PORT=587
MAIL_USERNAME=mandrill_username
MAIL_PASSWORD=mandrill_api_key
MAIL_FROM_ADDRESS=email_address
MAIL_FROM_NAME=email_name
Run Code Online (Sandbox Code Playgroud)

在路线中test我添加了这段代码,只是为了检查它是否有效:

Mail::send( 'emails.gift', $dati, function ( $message ) use ( $dati )
{
    $message->to( $dati['email'], $dati['nome'] . ' ' . $dati['cognome'] )->subject( 'Scarica il tuo regalo.' );
} );
Run Code Online (Sandbox Code Playgroud)

但当我尝试发送电子邮件时,我得到:

ErrorException in TransportManager.php line 116:
Undefined index: secret
Run Code Online (Sandbox Code Playgroud)

在Lumen没有services.php文件,所以我应该在哪里设置秘密?

小智 10

您可以创建自己的services.php文件.使用路径:your-lumen-project/config/services.php与Laravel services.php路径相同

your-lumen-project/
    app/
    config/
        services.php 
Run Code Online (Sandbox Code Playgroud)

services.php内容:

<?php

return [
    'mandrill' => [
        'secret' => env('MANDRILL_SECRET')
    ],
];
Run Code Online (Sandbox Code Playgroud)

然后放入MANDRILL_SECRET=yoursecretkey你的.env文件.

完成!