Laravel 5:发送带有从动态页面生成的附加 .pdf 文件的电子邮件

Laravel 5: Sending email with attached .pdf file generated from dynamic page

我有一个求职网站。求职者用户可以注册并建立个人资料(在线简历),用于一键申请。

当求职者登录并单击 "Apply Now" 按钮找到任何工作时,我希望 Laravel 将附有 .PDF 简历(从他们的在线简历构建页面生成)的电子邮件发送到雇主的收件箱.

注意:我不想将他们上传的简历 (.pdf/.doc) 发送到雇主的收件箱,因为我想宣传我网站的品牌/简历模板。

请告诉我如何实现。如果能提供源码,感激不尽

谢谢。

您可以使用 html 到 pdf 转换器(类似于 http://github.com/barryvdh/laravel-dompdf)。这将创建 PDF 格式的用户配置文件。

用户点击按钮后,用户会向雇主发送一封电子邮件,并附上 pdf 文件。

它将看起来像这样:

    Mail::send('emails.reminder', ['user' => $user], function ($m) use ($user) {
        $m->to($user->email, $user->name)->subject('Your Reminder!');

        $m->attach($pathToFile);
    });

每封电子邮件都有自定义邮件:

    Mail::send('emails.reminder', ['user' => $user], function ($m) use ($user) {
        $m->from('hello@app.com', 'Your Application');
        $m->to($user->email, $user->name)->subject('Your Reminder!');

        $m->attach($pathToFile);
    });

这将创建 PDF,并将其保存到存储目录。您可以使用视图进行设计:

public function createCollageCron($load_id) {
    $load = Loads::findOrFail($load_id);

    $pdf = PDF::loadView('pdf.collage', compact('load'));
    if ($pdf->save(storage_path('app/loadings/'.$load->id.'/collage.pdf'))) {
        return true;
    } else {
        return false;
    }
}

希望这有效!