Я хочу отправить blade-файл в виде вложения в почту с laravel.Я пишу код ниже для этого, но он не работает.
Ниже мой контроллер, где я получаю данные из формы, а затем отправляю эти данные другому контроллеру, где вызывается моя функция вложения.
$data = array('shareholders'=>$request->com_shareholder_count,'contract_send'=>$request->contract_send);
$to = $mail_log->to_email_id = $request->email_id;
$mail = Mail::to($to)->send(new SendMailable($data));
Это мой контроллер SendMailable:
$director_info_pdf = view('directors_info',compact('data'))->render();
При возврате этой переменной отображается ошибка:
message: "Invalid view.", exception: "InvalidArgumentException",…}
exception: "InvalidArgumentException"
file: "C:\xampp\htdocs\caps_admin\vendor\laravel\framework\src\Illuminate\Mail\Mailer.php"
line: 285
message: "Invalid view."
После этой строки я пишу код для прикрепления моих файлов,куда я отправляю некоторые файлы, остальные 3 файла отправляются напрямую из папки.И последний прикреплен из блейд-файла.
->attachdata($director_info_pdf, 'dynamic_data.pdf')
->attach( $public_path.'/'.'contract.pdf', [
'as' => 'contract.pdf',
'mime' => 'application/pdf',
])
->attach($public_path.'/'.'HMRC.pdf',[
'as' => 'HMRC.pdf',
'mime' => 'application/pdf',
])
->attach($public_path.'/'.'clientR3.pdf',[
'as' => 'contract1.pdf',
'mime' => 'application/pdf',
]);
Я могу отправить письмо со всеми 4 файлами в виде вложений.Но когда я пытаюсь открыть свои файлы в почте, остальные 3 файла работают как pdf.но ->attachdata($director_info_pdf, 'dynamic_data.pdf')
этот файл поврежден.
Я не знаю, как сначала преобразовать этот файл в pdf, а затем отправить как вложение.Я использую Snappy для PDF.