Здравствуйте, пытаюсь реализовать функцию отправки счета на почту. В представлении напротив каждого email есть кнопка отправить сообщение. Создан отдельный файл send в котором прописан html код счёта. И в контроллере соответственно public function actionSend($id)
{
$this->layout = 'pdf';
Yii::$app->response->format = \yii\web\Response::FORMAT_RAW;
$headers = Yii::$app->response->headers;
$headers->add('Content-Type', 'application/pdf');
$model = $this->findModel($id);
$pdf = new Pdf([
'mode' => Pdf::MODE_UTF8, // leaner size using standard fonts
'content' => $this->render('send', ['model'=>$model]),
'cssFile' => '@vendor/kartik-v/yii2-mpdf/assets/kv-mpdf-bootstrap.min.css',
'cssInline' => '.img-circle {border-radius: 50%;}',
'options' => [
'title' => $model->title,
'subject' => 'PDF'
],
'methods' => [
'SetFooter' => ['|{PAGENO}|'],
]
]);
$content = $pdf->content;
$filename = $pdf->filename;
$sendemail=Yii::$app->mailer->compose()
->attachContent($content, [
'fileName' => $filename,
'contentType' => 'application/pdf'
])
->setFrom('nik.obaturov@yandex.ru')
->setTo('nik.obaturov@yandex.ru')
->setSubject('Проверка')
->send();
return $pdf->render();
}
По итогу он на сайте пытается открыть PDF файл, но выходит ошибка что не удалось это сделать, и на почту соответсвенно ничего не приходит.
$model = $this->findModel($id);
Yii::$app->mailer->compose()
->setFrom('nik.obaturov@yandex.ru')
->setTo('nik.obaturov@yandex.ru')
->setSubject('Проверка подписки')
->setTextBody($this->render('send', ['model' => $model]))
->send();
return $this->render('send', ['model' => $model]);
При использовании этого кода, файл приходил чистым html кодом. Вопрос что не так