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
作者地址:https://www.cnblogs.com/G921123/
创作也有乐趣 知识分享 转载注明出处 相互理解 谢谢!
创作也有乐趣 知识分享 转载注明出处 相互理解 谢谢!