嗨,我正尝试将pdf直接附加到电子邮件,而不使用laravel邮件功能存储到存储并将其发送给用户。一切都按预期工作正常,但是问题是pdf而不是附件,因为base64编码的电子邮件内容出现了。
有人可以告诉我我做错了什么吗?
这是我的代码。这是内部邮件
$subject ='Hello! Your invoice is here';
$data['invoice_id']=$this->content['invoice_id'];
$pdf = PDF::loadView('frontend.pages.invoice.invoice',$data);
return $this->from('info@examplecompany.com')
->subject($subject)
->view('backend.emailtemplates.invoiceEmail')
->attachData($pdf->output(),'name.pdf', [
'mime' => 'application/pdf',
]) ;
我正在遵循这个How to attach a PDF using barryvdh/laravel-dompdf into an email in Laravel线程,即使我按照其答案所建议的方式进行操作,也仍然无法正常工作。
有人可以帮我吗? 谢谢。
答案 0 :(得分:0)
建议将此包用于pdf。
https://github.com/niklasravnsborg/laravel-pdf
您可以轻松管理pdf导出:
答案 1 :(得分:0)
我认为您想将pdf作为附件发送而不将其保存在系统中。
您可以参考以下代码来做到这一点。
$data["email"]='useremail@gmail.com';
$data["client_name"]='user_name';
$data["subject"]='sending pdf as attachment';
//Generating PDF with all the post details
$pdf = PDF::loadView('userdata'); // this view file will be converted to PDF
//Sending Mail to the corresponding user
Mail::send([], $data, function($message)use($data,$pdf) {
$message->to($data["email"], $data["client_name"])
->subject($data["subject"])
->attachData($pdf->output(), 'Your_Post_Detail.pdf', [
'mime' => 'application/pdf',
])
->setBody('Hi, welcome user! this is the body of the mail');
});
希望它对您有所帮助。
为更好地理解您可以阅读本文