1.下载phpmailer文件库

2.引用文件,此处将代码放到 :函数库中,function.php

function sendConsultantMessage($sendData){
Vendor('PHPMailer.class#phpmailer');
Vendor('PHPMailer.class#smtp'); $mail = new \PHPMailer(); //实例化
// var_dump($mail);
// exit;
$mail->IsSMTP(); // 启用SMTP
$mail->Host = "smtp.exmail.qq.com"; //SMTP服务器 以163邮箱为例子
$mail->Port = 25; //邮件发送端口
$mail->SMTPAuth = true; //启用SMTP认证 $mail->CharSet = "UTF-8"; //字符集
$mail->Encoding = "base64"; //编码方式 $mail->Username = "smtp@test.com"; //你的邮箱
$mail->Password = "test123456"; //你的密码
$mail->Subject = $sendData['send_subject']; //邮件标题 $mail->From = "smtp@test.com"; //发件人地址(也就是你的邮箱)
$mail->FromName = "smtp@test.com"; //发件人姓名 // $address = "";//收件人email
$address = $sendData['send_receiver'];
$mail->AddAddress($address, "");//添加收件人(地址,昵称) if($sendData['send_copy'] && $sendData['send_name']){
$path = $sendData['send_copy'];
$file = $sendData['send_name'];
$mail->AddAttachment($path,$file); // 添加附件,并指定名称
} $mail->IsHTML(true); //支持html格式内容
// $mail->AddEmbeddedImage("./Application/Public/logo.png", "my-attach", "logo.png"); //设置邮件中的图片
// $mail->Body = '你好, <b>朋友</b>! <br/>这是一封来自<a href="http://www.helloweba.com" target="_blank">helloweba.com</a>的邮件!<br/><img alt="helloweba" src="cid:my-attach">'; //邮件主体内容
$mail->Body = $sendData['send_contents'];
if(!$mail->Send()){
return false;
}else{
return true;
}
}

3.核心方法

public function sendInfo(){
header("Content-type: text/html; charset=utf-8");
date_default_timezone_set('PRC'); //设置中国时区
$consultantModel = M('consultant_entry'); $sendData['send_id'] = I('post.send_id');
$sendData['send_receiver'] = I('post.send_receiver');
$sendData['send_subject'] = I('post.send_subject');
$sendData['send_contents'] = I('post.send_contents');
$sendData['send_copy'] = '';
$sendData['send_name'] = '';
// $id = I('get.id',0,'intval');
//1111111111111111111111111111111111111111111111111
if($_FILES['send_copy']['name'] && $_FILES['send_copy']['error']==0){
$type = pathinfo($_FILES['send_copy']['name']);
if(in_array(strtolower($type['extension']), array('jpg','jpeg','gif','png','bmp','zip','rar','pdf','txt','html','xml','doc','docx','xls','xlsx','ppt','ppts')) && $_FILES['send_copy']['size'] < 3145728000){
// 2016-1-12 添加开始
$upload = new \Think\Upload();// 实例化上传类
$upload->maxSize = 3145728000 ;// 设置附件上传大小
$upload->exts = array('jpg','jpeg','gif','png','bmp','zip','rar','pdf','txt','html','xml','doc','docx','xls','xlsx','ppt','ppts');// 设置附件上传类型
$upload->rootPath = './Application/Public/upload/'; // 设置附件上传根目录
$upload->savePath = 'email/';
$info = $upload->uploadOne($_FILES['send_copy']);
if(!$info){
$this->error($upload->getError());
exit;
}else{
$sendData['send_copy'] = $upload->rootPath.$info['savepath'].$info['savename'];
$sendData['send_name'] = $_FILES['send_copy']['name'];
} }else{
$this->error("上传文件各式不正确或者文件过大!");
}
}
//
$resInfo = sendConsultantMessage($sendData);
if(!$resInfo){
unlink($sendData['send_copy']);
$this->error("邮件发送失败!",U("Consultant/getInfo"));
exit;
}else{
unlink($sendData['send_copy']);
$_where['id'] = $sendData['send_id'];
$_where['sale_id'] = $this->admin['id'];
$data = array(
'state'=>3,
);
$saveInfo = $consultantModel->where($_where)->save($data); $this->success("邮件发送成功!",U("Consultant/getInfo"));
exit;
}
}

4.注意:的引用。

5.几点注意事项

a.此处发送邮箱的账号,密码要正确,同事确保已经开启了smtp服务。

b.发送附件,以及图片时,附件(图片)的路径要准确。(要定义为根目录下的相对路径,或者绝对路径)

项目中出现的问题:

e.网上的解决方案:

f.我的解决

g.其他问题以及解决方案

http://www.chinastor.com/a/jishu/mailserver/0G392262014.html

最新文章

  1. OAF_开发系列15_实现OAF组件重用和继承(案例)
  2. db2 重启
  3. android studio 华为手机看不到具体的错误日志
  4. MVVM架构~knockoutjs系列之验证信息自定义输出~再续
  5. HANA Studio中修改默认查询结果只显示1000行
  6. bsearch
  7. HashMap的一些用法
  8. Github/Eclipse管理Maven项目
  9. ubuntu 下建立桌面快捷方式
  10. Servlet文件上传(ServletFIleUpload,DiskFileItemFactory,FileItem)
  11. 用Doxygen生成文档
  12. hdu 5919--Sequence II(主席树--求区间不同数个数+区间第k大)
  13. 关于mysql驱动包的in语句的bug
  14. JVM基础系列第3讲:到底什么是虚拟机?
  15. Docker快速搭建LNMP环境
  16. MT【291】2元非齐次不等式
  17. 脚本自动部署及监控 web
  18. PostgreSQL可视化客户端工具
  19. 02-Maven安装配置
  20. 51nod 1673 树有几多愁(链表维护树形DP+状压DP)

热门文章

  1. hadoop 异常及处理总结-02(小马哥精品)
  2. 高阶函数简述 js
  3. 【CODEFORCES】 A. Keyboard
  4. 深入探讨Linux静态库与动态库的详解(转)
  5. ACE中TASK架构简介及简单应用
  6. Python: Soft_max 分类器
  7. 帧率(FPS)计算的六种方法总结
  8. jquery 属性操作 attr( ) prop()css( )区别
  9. mysql root用户密码个性
  10. Android自己定义截屏功能,相似QQ截屏