laravel8 smtp 发送附件pdf邮件

开启smtp 获取密码

 

 

 

创建之前确保已安装依赖: composer require guzzlehttp/guzzle  然后创建:php artisan make:mail PdfEmail,同时会生成blade模板。

配置 .env 文件

 

配置config下的 mail.php 文件和env中保持一致【也可以配置from 全局】

 

 

 

模板中随便写 根据需求:

 

 

public static function buildPdf {
    $path = $pdf->Output('', 'S');  保存pdf文件
    $user = ['email' => '925647716@qq.com'];  发送对象

    self::sendPdfEmail($path, $user);
}


private static function sendPdfEmail($path, $user)
{
    $PdfEmail = new App\Mail\PdfEmail($user, $path);
    $build    = $PdfEmail->build();
    Mail::to($user)->send($build);
}

  ok 就这么简单!!!

 

本地配置:

MAIL_MAILER=smtp
MAIL_HOST=smtp.163.com
MAIL_PORT=25
MAIL_USERNAME=xxx.com
MAIL_PASSWORD=pwd
MAIL_ENCRYPTION=tls

 

上线后 需要改一下 我这里是ssl请求:

MAIL_MAILER=smtp
MAIL_HOST=smtp.163.com
MAIL_PORT=465  端口
MAIL_USERNAME=xxx.com
MAIL_PASSWORD=pwd
MAIL_ENCRYPTION=ssl  

 所以如果使用ssl端口则encyption配置项必须为465/994如果使用非ssl则应该使用25

生成pdf 见我此篇文章: https://www.cnblogs.com/G921123/p/18003452

posted @ 2024-02-02 16:42  现世中的素人  阅读(6)  评论(0编辑  收藏  举报