流明:从命令发送电子邮件时,它给我错误

时间:2018-11-29 09:13:21

标签: php laravel lumen swiftmailer

我正在使用lumen框架,它是laravel的微框架 我必须为发送的电子邮件创建cron, 我已将文件放入app / console / commands

在kernel.php文件中注册我的命令

它工作正常,我已经检查了

现在已在文件中调用下面的模型代码来发送电子邮件,

$sent = Mail::send(['html' => 'email_render'], ['html' => $data["body"]], function ($msg) use ($data) {
            $msg->from($data["from_address"])
            ->to($data["to_address"])->subject($data["subject"]);//->setBody($data["body"]);
            if (isset($data["cc_address"]) && $data["cc_address"]) {
                $msg->cc($data["cc_address"]);
            }
            if (isset($data["bcc_address"]) && $data["bcc_address"]) {
                $msg->bcc($data["bcc_address"]);
            }
            if (isset($data["attachment"]) && $data["attachment"]) {
                foreach ($data["attachment"] as $attachment) {
                    $msg->attach($attachment['file'], $attachment['options']);
                }
            }
            if (isset($data["message_id"]) && $data["message_id"] && $data["type"] != "compose") {
                $msg->getSwiftMessage()->getHeaders()->addTextHeader("In-Reply-To", "<".$data["message_id"].">");
                $msg->getSwiftMessage()->getHeaders()->addTextHeader("References", self::getReferances($data));
            }
        });

它给我以下错误,

[RuntimeException]                                                         ←[39;49m
←[37;41m  No supported encrypter found. The cipher and / or key length are invalid. 

同一模型函数,如果我从控制器调用它,则它正在工作,但从命令调用它,则给我错误,

任何原因吗?

我有解决办法,

在流明框架中,我无法使用命令生成密钥

artisan key:generate

解决方案

我已经使用以下网址生成了

Lumen Micro Framework => php artisan key:generate

然后运行我的命令,它正在发送电子邮件,

BUT (不确定),但不确定为什么以前使用控制器而不使用命令。

1 个答案:

答案 0 :(得分:1)

之所以发生这种情况,是因为您使用的密码所期望的字符串大小不同于设置中的大小。

如果您在配置中使用16个字符串(SomeRandomString),则可以将其更改为使用密码AES-128-CBC

但是我建议您运行artisan命令(从您的命令行)php artisan key:generate