Люмен: при отправке письма от команд, выдает ошибку - PullRequest
0 голосов
/ 29 ноября 2018

Я использую lumen framework, который является микро-фреймворком 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

Решение

Я сгенерировал его с использованием приведенного ниже URL,

Lumen Micro Framework => PHP-ключ ремесленника: сгенерировал

, затем запустил команду, отправляющую электронные письма,

НО не уверен, почему раньше он работал с контроллером и не работал скоманда.

1 Ответ

0 голосов
/ 29 ноября 2018

Это происходит потому, что используемый вами шифр ожидает строку другого размера, чем у вас в настройке.

Если вы используете в конфигурации 16-символьную строку (SomeRandomString), вы можете изменить ее наиспользуйте шифр AES-128-CBC.

НО Я бы порекомендовал вам запустить команду ремесленника (из командной строки) php artisan key:generate

...