我正在使用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 (不确定),但不确定为什么以前使用控制器而不使用命令。
答案 0 :(得分:1)
之所以发生这种情况,是因为您使用的密码所期望的字符串大小不同于设置中的大小。
如果您在配置中使用16个字符串(SomeRandomString),则可以将其更改为使用密码AES-128-CBC
。
但是我建议您运行artisan命令(从您的命令行)php artisan key:generate