Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel:从视图中获取html并将其作为邮件附件发送_Php_Laravel - Fatal编程技术网

Php Laravel:从视图中获取html并将其作为邮件附件发送

Php Laravel:从视图中获取html并将其作为邮件附件发送,php,laravel,Php,Laravel,我有一个刀片模板,可以生成我需要的内容: invoice.blade.php 我有通过链接访问此视图的路径: web.php 发送由laravel mailer通过此路由生成的html文件的更好方法是什么?我试着这样做: $file = file_get_contents(url('invoice/1')); Mail::send([], [], function ($message) use ($file) { ... $message->attach

我有一个刀片模板,可以生成我需要的内容:

invoice.blade.php

我有通过链接访问此视图的路径:

web.php

发送由laravel mailer通过此路由生成的html文件的更好方法是什么?我试着这样做:

$file = file_get_contents(url('invoice/1'));    
Mail::send([], [], function ($message) use ($file) {
       ...
       $message->attach($file, [
          'as' => 'file-name',
          'mime' => 'text/html',
       ]);
    });
Mailer工作正常,但出现了一个错误,文件内容的执行时间超过了最大值,我知道可以通过修复,我也知道,但服务器设置目前无法对其进行测试。所以我的问题是:我们是否有其他方法来实现这一点?哪种方法更快更好?

通过查看->渲染和邮件->附加数据函数解决

$file = view('invoice.invoice_inline', ['id' => $id])->render();
Mail::send([], [], function ($message) use ($file) {
   ...
   $message->attachData($file, 'filename.html', ['mime' => 'text/html']);
});
通过view->render and mailer->attachData函数解决

$file = view('invoice.invoice_inline', ['id' => $id])->render();
Mail::send([], [], function ($message) use ($file) {
   ...
   $message->attachData($file, 'filename.html', ['mime' => 'text/html']);
});

改用降价邮件。祝你好运。降价用于邮件内容,而不是附件。为时已晚,我试图变得太聪明。很好,你知道怎么做了。生成PDF不是更容易吗?我需要HTML文件,而不是PDF:改用降价邮件。祝你好运。降价用于邮件内容,而不是附件。为时已晚,我试图变得太聪明。很好,你知道怎么做了。生成PDF不是更容易吗?我需要HTML文件,而不是PDF:我绝对欠你一杯啤酒,我的朋友。我正在做的有点不同,但足够近,这帮了我很大的忙。这真是太棒了。它工作得很好,比生成pdfI更快。我的朋友,我绝对欠你一杯啤酒。我正在做的有点不同,但足够近,这帮了我很大的忙。这真是太棒了。它工作得很好,比生成pdf更快
$file = view('invoice.invoice_inline', ['id' => $id])->render();
Mail::send([], [], function ($message) use ($file) {
   ...
   $message->attachData($file, 'filename.html', ['mime' => 'text/html']);
});