Mic*_*ith 5 php email laravel laravel-5.2
我正在尝试在 Laravel 5.2 中对电子邮件进行排队,但我一直在数据库中收到空的有效负载(如下所示)
我的 config\queue.php
'connections' => [
...
'database' => [
'driver' => 'database',
'table' => 'jobs',
'queue' => 'default',
'expire' => 60,
],
...
]
Run Code Online (Sandbox Code Playgroud)
我的排队代码:
if(Input::get('email-admin')) {
$admin_pdf = PDF::loadView('emails.reporting.checkin-report', ['content' => $admin_email])->inline();
Mail::queue('emails.reporting.checkin-email', [], function ($m) use ($admin_pdf, $start) {
//Admin should have User ID of '1'
$admin = User::find(1);
$report_name = $start->format('F') . '-report.pdf';
$m->attachData($admin_pdf, $report_name);
$m->to($admin->email, $admin->first_name)->subject('flexxifit ' . $start->format('F') . ' Report');
});
}
Run Code Online (Sandbox Code Playgroud)
我也试过Mail::later()没有成功。
小智 5
显然,序列化程序不喜欢字节字符串(在这种情况下为 $admin_pdf)。
您可以在排队之前通过 base64_encoding 字节字符串数据来修复它,然后在闭包中再次解码它,如下所示:
$adminPdf = base64_encode($pdfData); //Encoded here
Mail::queue('emails.reporting.admin-report', $emailData, function (Message $m) use ($adminPdf) {
$m->attachData(base64_decode($adminPdf), $reportName); //Decoded here
$m->to($adminEmail)->subject('Admin Report');
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6280 次 |
| 最近记录: |