Php 如何将pdf附加到Laravel中的邮件
我正在尝试向用户发送邮件,但也想将文件附加到邮件中。我使用的是pdf包barryvdh/laravel dompdf,但我一直收到这个错误 在/app_path/app/Nova/Actions/SendAccountStatement.php:86处对空成员函数attachData()的调用 这是我的密码Php 如何将pdf附加到Laravel中的邮件,php,laravel,email,pdf,Php,Laravel,Email,Pdf,我正在尝试向用户发送邮件,但也想将文件附加到邮件中。我使用的是pdf包barryvdh/laravel dompdf,但我一直收到这个错误 在/app_path/app/Nova/Actions/SendAccountStatement.php:86处对空成员函数attachData()的调用 这是我的密码 $data = [...]; $pdf = PDF::loadView('account-statement', $data); // send account statement no
$data = [...];
$pdf = PDF::loadView('account-statement', $data);
// send account statement notification
Mail::to($model->email)
->bcc('another@mail.com')
->send(new StatementOfAccount($model)
->attachData($pdf->output(), "Account_Statement.pdf", ['mime' => 'application/pdf']);
引发错误的行是->attachData($pdf->output(),“Account\u Statement.pdf”,['mime'=>'application/pdf'])
因此,从错误中,我似乎遗漏了一些东西。将pdf文件附加到电子邮件的正确方式是什么
app/Http/Controllers/TestController.php
名称空间App\Http\Controllers
use App\Mail\CheckUser;
use App\User;
use Carbon\Carbon;
use Illuminate\Http\Request;
use PDF;
class TestController extends Controller
{
public function index()
{
return view('welcome');
}
public function daily_report(Request $request)
{
$start_date = Carbon::parse($request->start_date)
->toDateTimeString();
$end_date = Carbon::parse($request->end_date)
->toDateTimeString();
$data['users'] = User::whereBetween('created_at',[$start_date,$end_date])->get();
$data['start_date'] = Carbon::parse($request->start_date)
->toDayDateTimeString();
$data['end_date'] = Carbon::parse($request->end_date)
->toDayDateTimeString();
$count = User::whereBetween('created_at',[$start_date,$end_date])->count();
if( $count < 1 ) {
session()->flash('message','There is no user between those date!');
return redirect()->back();
}
$pdf = PDF::loadView('test', $data, [
'format' => 'A4'
]);
\Mail::send('test', $data, function($message) use ($pdf){
$message->from('info@test.com*');
$message->to('mail@codechief.org');
$message->subject('Date wise user report');
$message->attachData($pdf->output(),'document.pdf');
});
$pdf->SetProtection(['copy', 'print'], '', 'pass');
return $pdf->stream('document.pdf');
}
}
@extends('layouts.app'))
@推送(“样式”)
@端推
@节(“内容”)
@如果(session()->has('message'))
{{{session()->get('message')}
@恩迪夫
按日期搜索用户
开始日期
结束日期
@端部
尝试这样做,但最终出现错误fopen(/app\u path/storage/font//nunito-sans-600-italic\u ade62d68a3797e291e5838e264052318.ufm):无法打开流:没有这样的文件或目录
确保您有目录
resources/views/welcome.blade.php
@extends('layouts.app')
@push('style')
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
@endpush
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
@if(session()->has('message'))
<p class="btn btn-success btn-block btn-sm custom_message text-left" style="margin-top: 10px;">{{ session()->get('message') }}</p>
@endif
<legend>Search date wise user</legend>
<form action="{{ route('report') }}" method="get">
<div class="col-md-3">
<div class="form-group">
<label for="">Start Date</label>
<input type="date" class="form-control" name="start_date">
</div>
</div>
<div class="col-md-3">
<div class="form-group">
<label for="">End Date</label>
<input type="date" class="form-control" name="end_date">
</div>
</div>
<div class="col-md-2" style="margin-top: 24px;">
<div class="form-group">
<input type="submit" class="btn btn-primary" value="Submit">
</div>
</div>
</form>
</div>
</div>
</div>
@endsection