如何把php导出的Excel 作为邮件发送

hxl5u 2014-06-11 05:00:33
现在实现了点击后下载excel,和发送文本邮件的功能,怎么能结合下,把php导出的excel作为附件发送就完美了。
1 .生成excel:

header("Content-type:application/octet-stream");
header("Accept-Ranges:bytes");
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:attachment;filename=".$filename.".xls");
header("Pragma: no-cache");
header("Expires: 0");

if (!empty($title)){
foreach ($title as $k => $v) {
$title[$k]=iconv("UTF-8", "GB2312",$v);
}
$title= implode("\t", $title);
echo "$title\n";
}
if (!empty($data)){
foreach($data as $key=>$val){
foreach ($val as $ck => $cv) {
$data[$key][$ck]=iconv("UTF-8", "GB2312", $cv);
}
$data[$key]=implode("\t", $data[$key]);
}
echo implode("\n",$data);
}


2 . 发送邮件:
用了phpmailer类库

$mail = new PHPMailer();
$mail->CharSet = 'UTF-8';
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->SMTPSecure = '';
$mail->Host = $config['SMTP_HOST']; // SMTP 服务器
$mail->Port = $config['SMTP_PORT']; // SMTP服务器的端口号
$mail->Username = $config['SMTP_USER']; // SMTP服务器用户名
$mail->Password = $config['SMTP_PASS']; // SMTP服务器密码
$mail->SetFrom($config['FROM_EMAIL'], $config['FROM_NAME']);
$replyEmail = $config['REPLY_EMAIL']?$config['REPLY_EMAIL']:$config['FROM_EMAIL'];
$replyName = $config['REPLY_NAME']?$config['REPLY_NAME']:$config['FROM_NAME'];
$mail->AddReplyTo($replyEmail, $replyName);
$mail->Subject = $subject;
$mail->MsgHTML($body);
$mail->AddAddress($to, $name);
if(is_file($attachment)){ // 添加附件
$mail->AddAttachment($attachment);
}
return $mail->Send()
...全文
677 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
snowyzhao 2015-07-13
  • 打赏
  • 举报
回复
引用 10 楼 hxl5u 的回复:
[quote=引用 9 楼 chinmo 的回复:] 提个思路,你可参考下: 先把excel保存在服务器上,然后获得该excel的路径,然后作为附件进行email发送,如果你不需要这个文件了,然后再执行删除操作就OK了
en 就是不想生成文件 直接获取内容发送文件 然后删除临时文件。。 已经按 @xuzuning 大哥的方法实现 谢谢你[/quote] 亲,为什么我用了ob_get_clean 还弹出另存 ???
hxl5u 2014-06-27
  • 打赏
  • 举报
回复
引用 9 楼 chinmo 的回复:
提个思路,你可参考下: 先把excel保存在服务器上,然后获得该excel的路径,然后作为附件进行email发送,如果你不需要这个文件了,然后再执行删除操作就OK了
en 就是不想生成文件 直接获取内容发送文件 然后删除临时文件。。 已经按 @xuzuning 大哥的方法实现 谢谢你
  • 打赏
  • 举报
回复
提个思路,你可参考下: 先把excel保存在服务器上,然后获得该excel的路径,然后作为附件进行email发送,如果你不需要这个文件了,然后再执行删除操作就OK了
  • 打赏
  • 举报
回复
汗!那样导出的还没有路径,你如何作为附件发送呢?? 你这不是天方夜谭么?
hxl5u 2014-06-12
  • 打赏
  • 举报
回复
可能要写到磁盘上 ,在发送这个磁盘文件。。
xuzuning 2014-06-12
  • 打赏
  • 举报
回复
看了还问? ob_get_clean
hxl5u 2014-06-12
  • 打赏
  • 举报
回复
引用 4 楼 xuzuning 的回复:
肯定是你哪里出错了,认真检查一下 你实际输出的是文本文件,用记事本就可打开 ob 函数的功能、用法,手册中都有
嗯嗯 看了用法 能做到禁止输出吗? 写完附件清除。。 不弹出另存
xuzuning 2014-06-12
  • 打赏
  • 举报
回复
肯定是你哪里出错了,认真检查一下 你实际输出的是文本文件,用记事本就可打开 ob 函数的功能、用法,手册中都有
hxl5u 2014-06-12
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
第7行处加入
ob_start();

第23行后加入
$s = ob_get_flush();
file_put_contents($filename.".xls", $s);
$attachment = $filename.".xls";
执行邮件发送

加了ob_start() excel打不开了,怎么能做到不弹出另存excel的输出呢,就附件只送到$s = ob_get_flush();这里。 不再浏览器界面上任何弹出
hxl5u 2014-06-11
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
第7行处加入 ob_start(); 第23行后加入 $s = ob_get_flush(); file_put_contents($filename.".xls", $s); $attachment = $filename.".xls"; 执行邮件发送
好的好的 我也试了ob_get_contents 半天还是没思路 谢谢老大指点 我试试看
xuzuning 2014-06-11
  • 打赏
  • 举报
回复
第7行处加入 ob_start(); 第23行后加入 $s = ob_get_flush(); file_put_contents($filename.".xls", $s); $attachment = $filename.".xls"; 执行邮件发送
系统功能简介: 强大并免费的订单管理系统,将产品资料,产品分类,客户联系方式、下单信息、发货、物流跟踪、短信跟踪售后、订单资料导出等功能,整合成一个系统,带有管理后台,方便做竞价单页的创业者跟进订单及售后服务。 1、 分别有电脑版及手机wap版引用页面,无论网页使用的格式是html,asp,php还是jsp,使用iframe引入,都可以使用,非常适用于竞价产品单页; 2、 带有管理后台版,使用最安全的jsp技术开发,完全杜绝盗单、漏单和数据库注入,就算竞价的网站因其他被删除,也不影响后台的数据安全; 3、 丰富的产品管理功能,定义产品名称,是否在前台推荐选中,排序; 4、 产品分类管理,设置前台显示是单选按钮或下拉选择方式,设置此分类的其他信息,如网址,QQ等; 5、 强大的订单管理,系统自动记录下单时间、下单的IP、来源地址、收货信息地址等,可在后台跟进客户服务,订单备注,搜索订单等等; 6、 付款方式管理,可设置启用或停用,设置折扣,前台显示的提示内容; 7、 短信/邮件内容可自行管理,强大的内容订制功能,可个性化自行定制短信/邮件内容,可插入客户名字、显示的公司名、 订单ID、价格、支付方式、客户手机、 地址、产品网址、客服电话、客服QQ、产品名称内容 8、 增加短信提醒,系统会通过邮件或手机给您提醒及时查看。 9、 对提交的非法数据进行过滤 10、 后台可自由设置同一IP可重复下单次数,限制恶意下单 11、 后台可自由设置是否启用删除功能! 12、 后台地址随意设置。可自由在更改后台的文件名,让外人找都找不到后台登陆地址,提高安全性。 13、 订单物流进度实时查询 14、 可开启后台登陆验证码,杜绝暴力破解密码 15、 设置开启邮箱以及备用接受订单通知,双邮箱,保证一单不漏; 16、 前台购买页面嵌入简单,方便,价格会按折扣、套装自动计算,并闪动折扣,提高关注。 17、 不设置使用站点限制,可以N个站共用一套程序;后台分产品组分别管理不同产品。 18、 不设置使用期限限制,永久免费。 19、 其他超过同类软件的50项改进! (高级定制版功能) 20、 增加订单信息导出excel,更方便地管理及维护订单数据; 21、 支持各短信系统发送(如106开头短信),以便利用短信跟进客户售后服务,提高产品、网站形象及提高付款成功率。
名字:鑫路在线订单管理系统 免费版V2.7 开发语言:JSP+Mysql 类别:订单管理系统 软件授权:免费版 【特色功能】:带有管理后台,支持邮件提醒,短信发送,订单导出excel等 【功能简介】: 强大并免费的订单管理系统,将产品资料,产品分类,客户联系方式、下单信息、发货、物流跟踪、带有管理后台,短信发送跟进售后,订单邮件提醒,订单导出excel等功能,整合成一个系统,方便跟进订单及售后服务。 【功能简介】: 强大并免费的订单管理系统,将产品资料,产品分类,客户联系方式、下单信息、发货、物流跟踪、带有管理后台,短信发送跟进售后,订单邮件提醒,订单导出excel等功能,整合成一个系统,方便跟进订单及售后服务。 1、 分别有电脑版及手机wap版引用页面,无论网页使用的格式是html,asp,php还是jsp,都可以引入,都可以使用; 2、 带有管理后台功能,使用最安全的jsp技术开发,完全杜绝盗单、漏单和数据库注入,就算网站因其他被删除,也不影响后台的数据安全; 3、 丰富的产品管理功能,定义产品名称,是否在前台推荐选中,排序; 4、 产品分类管理,设置前台显示是单选按钮或下拉选择方式,设置此分类的其他信息,如网址,QQ等; 5、 强大的订单管理,系统自动记录下单时间、下单的IP、来源地址、收货信息地址等,可在后台跟进客户服务,订单备注,搜索订单等等; 6、 付款方式管理,可设置启用或停用,设置折扣,前台显示的提示内容; 7、 短信/邮件内容可自行管理,强大的内容订制功能,可个性化自行定制短信/邮件内容,可插入客户名字、显示的公司名、 订单ID、价格、支付方式、客户手机、 地址、产品网址、客服电话、客服QQ、产品名称内容 8、 增加短信提醒,系统会通过邮件或手机给您提醒及时查看。 9、 对提交的非法数据进行过滤 10、 后台可自由设置同一IP可重复下单次数,限制恶意下单 11、 后台可自由设置是否启用删除功能! 12、 后台地址随意设置。可自由在更改后台的文件名,让外人找都找不到后台登陆地址,提高安全性。 13、 订单物流进度实时查询 14、 可开启后台登陆验证码,杜绝暴力破解密码 15、 设置开启邮箱以及备用接受订单通知,双邮箱,保证一单不漏; 16、 前台购买页面嵌入简单,方便,价格会按折扣、套装自动计算,并闪动折扣,提高关注。 17、 不设置使用站点限制,可以N个站共用一套程序;后台分产品组分别管理不同产品。 18、 不设置使用期限限制,永久免费。 19、 其他超过同类软件的50项改进! (高级定制版功能) 20、 增加订单信息导出excel,更方便地管理及维护订单数据; 21、 支持各短信系统发送(如106开头短信),以便利用短信跟进客户售后服务,提高产品、网站形象及 提高付款成功率。 22、 专业版加入自动跟踪快递状态,并根据快递状态发送不同的提示短信及更新订单状态! 【更新日志】 2.7版本更新 1、短信模板添加数量; 2、加入可控是否显示填写QQ号码;【产品分类】-->【前台购买页面显示填写QQ】->【显示】 3、订单列表添加显示订购数量; 4、加入购买页面的自适应高度功能,避免因产品数量过多或客户浏览器设置字体过大,导致下单页面被遮挡,改进后页面全自动进行适应;注:需使用【产品分类】里的生成iframe代码方能生效(或设置iframe的ID为buyiframe亦可生效); 5、添加检测快递号是否重复使用; 6、添加自动计算并显示不同支付方式分别优惠多少钱 7、去掉订单搜索时必须选定搜索的项目; 8、预留订单功能拓展; 9、订单列表加入快捷发送和修改状态功能; 10、订单页面加入记录快递最新状态功能! 11、短信模板加入快递最新状态功能; 12、对滚动发货信息进行更大程度的可自义,可控制显示地区及性别称谓; 13、订单状态可多选查询; 14、订单的搜索项目加入多选查询; 15、添加多选批量更新订单状态功能; 更多功能更新版本请留意 官方网站

20,398

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧