Я обновляюсь с 5,8 до 7, и у меня есть функция, которая позволяет извлекать настройки smtp для почты из базы данных. Это из этого руководства https://laravel-news.com/allowing-users-to-send-email-with-their-own-smtp-settings-in-laravel
$this->app->bind('user.mailer', function ($app, $parameters) {
$smtp_host = Arr::get($parameters, 'smtp_host');
$smtp_port = Arr::get($parameters, 'smtp_port');
$smtp_username = Arr::get($parameters, 'smtp_username');
$smtp_password = Arr::get($parameters, 'smtp_password');
$smtp_encryption = Arr::get($parameters, 'smtp_encryption');
$from_email = Arr::get($parameters, 'from_email');
$from_name = Arr::get($parameters, 'from_name');
$from_email = $parameters['from_email'];
$from_name = $parameters['from_name'];
$transport = new Swift_SmtpTransport($smtp_host, $smtp_port);
$transport->setUsername($smtp_username);
$transport->setPassword($smtp_password);
$transport->setEncryption($smtp_encryption);
$swift_mailer = new Swift_Mailer($transport);
$mailer = new Mailer($app->get('view'), $swift_mailer, $app->get('events'));
$mailer->alwaysFrom($from_email, $from_name);
$mailer->alwaysReplyTo($from_email, $from_name);
return $mailer;
});
Это работало в предыдущей версии, однако в Laravel 7 я получаю сообщение об ошибке
Аргумент 1 пройден to Illuminate \ Mail \ Mailer :: __ construct () должен иметь тип string, заданный объект
Здесь не работает $ app-> get ('view')
Я просмотрел руководства по обновлению, но я изо всех сил пытаюсь исправить это.