资讯专栏INFORMATION COLUMN

laravel 发送带附件的邮件

kevin / 1482人阅读

摘要:有时候需要给运营定时发送表格数据,方式是定时跑程序将数据生成一个然后邮件发送到运营邮箱,这里用来处理安装下载用户用户昵称公司名称销售功能版本次数最高消耗剩余时间使用百度老王从数据库读取的结果发送邮件邮件配置参考模板文件附件内容发送时

有时候需要给运营定时发送表格数据,方式是定时跑程序将数据生成一个 excel 然后邮件发送到运营邮箱,这里用 laravel 来处理.

安装 maatwebsite/excel
composer reuqire maatwebsite/excel
下载 excel
 $titles = [
            "用户ID", "用户昵称", "公司名称", "销售", "功能版本", "次数", "最高", "消耗", "剩余", "时间"
        ];
//使用 Excel::create
$data_arr=[$titles,["user_id"=>100,"nick_name"=>"xxx","company"=>"百度","seller_name"=>"老王","user_type"=>1,"times"=>666,"top"=>100,"flows"=>88,"rest"=>123,"time"=>date("YmdHis")]];//从数据库读取的结果
//http://www.maatwebsite.nl/laravel-excel/docs/export
Excel::create("excel", function($excel) use($data_arr){
            $excel->sheet("Sheetname", function($sheet) use($data_arr) {
                $sheet->fromArray($data_arr, null, "A1", false, false);
            });
            
        })->store("xlsx",storage_path("excel/exports"));

发送邮件
// https://docs.golaravel.com/docs/5.0/mail/ 邮件配置参考
#cat .env
MAIL_DRIVER=smtp
MAIL_HOST=smtp.exmail.qq.com
MAIL_PORT=25
MAIL_USERNAME=xxx@xxx.com
MAIL_PASSWORD=xxx

#cat config/mail.php
//模板文件
#cat resources/views/emails/attachment.balde.php
附件内容:{{$content}}

发送时间:{{date("Y-m-d H:i:s")}} //重试 3次 $tryTimes=3; do { $email="xxx@xx.com"; $attachments=["file"=>storage_path("excel/exports")."/excel.xlsx"];//上面下载的 excel 附件 $subject="mail"; $cc="xxx@xx.com";//抄送邮件 $sendResult = Mail::send("emails.attachment", ["content" => "发送内容"], function ($message) use ($email, $attachments, $subject, $cc) { $message->to($email)->subject($subject); foreach ($attachments as $alias => $attachment) { $ext = pathinfo($attachment)["extension"]; $message->attach($attachment, ["as" => "=?UTF-8?B?" . base64_encode($alias) . "?=." . $ext]);// } if (!empty($cc)) { $message->cc($cc); } }); $tryTimes--; } while ($sendResult == 0 && $tryTimes); dd($sendResult);//发送成功 2

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/26039.html

相关文章

  • laravel5.4发送邮箱

    摘要:一发送邮箱其实不难,不如说挺简单的,首先还是现在注册一个账号并且设置如下图授权码很重要的,请好好记住,待会在的中要配置到的二如果以上你都做完了,那接下来就是配置了你的账号你的客户端授权密码你的账号账号名三然后接下来就是配置路由以及在控制器上 一、发送邮箱其实不难,不如说挺简单的,首先还是现在163注册一个账号并且设置如下图 showImg(https://segmentfault.c...

    ZHAO_ 评论0 收藏0
  • 慕课网_《Spring Boot 发送邮件》学习总结

    摘要:慕课网发送邮件学习总结时间年月日星期六说明本文部分内容均来自慕课网。 慕课网《Spring Boot 发送邮件》学习总结 时间:2018年09月08日星期六 说明:本文部分内容均来自慕课网。@慕课网:https://www.imooc.com 教学源码:https://github.com/ityouknow/... 学习源码:https://github.com/zccoder...

    Meathill 评论0 收藏0
  • python发送邮件

    摘要:参数分别表示主机和端口。注意也可以在参数中指定端口号如,这样就没必要给出参数。当需要发送附件的时候使用的就是这个类的一个子类。主要用来发送图片普通文本邮件文本对象,其中是邮件内容,邮件类型,可以是普通文本邮件,邮件编码,可以是等等。 python发送邮件 准备 python中发送邮件主要用的是smtplib和email两个模块,下面主要对这两个模块进行讲解 在讲解之前需要准备至少两个...

    mengera88 评论0 收藏0

发表评论

0条评论

kevin

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<