1.下载class.phpmailer.php和class.smtp.php至公共库

2.编写发邮件的公共函数

 function sendMail($param) {
$config = C('THINK_EMAIL');
vendor('PHPMailer.class#phpmailer'); //从PHPMailer目录导class.phpmailer.php类文件
$mail = new PHPMailer(); //PHPMailer对象
$mail->CharSet = $config['EMAIL_CHARSET']; //设定邮件编码,默认ISO-8859-1,如果发中文此项必须设置,否则乱码
$mail->IsSMTP(); // 设定使用SMTP服务
$mail->SMTPDebug = ; // 关闭SMTP调试功能
// 1 = errors and messages
// 2 = messages only
$mail->SMTPAuth = $config['EMAIL_SMTPAUTH']; // 启用 SMTP 验证功能
$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']);
$mail->SetFrom($param['mail_from'], $param['mail_name']);
$replyEmail = $config['REPLY_EMAIL'] ? $config['REPLY_EMAIL'] : $param['mail_from'];
$replyName = $config['REPLY_NAME'] ? $config['REPLY_NAME'] : $param['mail_name'];
$mail->AddReplyTo($replyEmail, $replyName); if (!empty($param['to'])) {
foreach ($param['to'] as $to) {
$mail->AddAddress($to['address'], $to['name']);
}
}
if (!empty($param['cc'])) {
foreach ($param['cc'] as $cc) {
$mail->addCC($cc['address'], $cc['name']);
}
}
// if (!empty($param['bcc'])) {
// foreach ($param['bcc'] as $bcc) {
// $mail->addBCC($bcc['address'], $bcc['name']);
// }
// } $param['body'] = $mail->WrapText($param['body'], );
$mail->Subject = $param['subject'];
if (!empty($param['body'])) {
$mail->MsgHTML($param['body']);
$mail->IsHTML($config['EMAIL_ISHTML']);
$mail->Body = $param['body'];
} // if (!empty($param['attachment'])) { // 添加附件
// foreach ($param['attachment'] as $file) {
// if (is_file($file['path'])) {
// $mail->AddAttachment($file['path'], $file['name']);
// }
// }
// } for($i=;$i<(count($param['attachment']));$i++){
$img=substr($param['attachment'][$i], strpos($param['attachment'][$i], ","));
$mail->AddStringAttachment(base64_decode($img),"attach".$i.".png","base64","image/png"); } //重发机制
$ret['errno'] = ;
$ret['msg'] = '';
if ($mail->Send()) {
return $ret;
} else {
if ($mail->Send()) {
return $ret;
} else {
$ret['errno'] = ;
$ret['msg'] = $mail->ErrorInfo;
return $ret;
}
}
// return $mail->Send() ? true : $mail->ErrorInfo;
}

3.SMTP配置函数

 // 配置邮件发送服务器
'THINK_EMAIL'=>array(
'SMTP_HOST' => 'localhost', //邮件发送SMTP服务器
'SMTP_PORT' => '',//SMTP服务器端口
'SMTP_USER' => 'admin', //SMTP服务器登陆用户名
'SMTP_PASS' => 'admin', //SMTP服务器登陆密码
'FROM_EMAIL' =>'发件箱@XX.com',
'FROM_NAME' =>'发件人姓名',
'REPLY_EMAIL' =>'',
'REPLY_NAME' =>'',
'EMAIL_CHARSET' =>'utf-8',
'EMAIL_ISHTML' => 'TRUE',
'EMAIL_SMTPAUTH' => '',
),

4.根据库中存的Base64获取图片信息,实际调用的为一个URL

public function getImage() {
$reportId = I('request.id');
$imgInfos = I('request.img');
header('Content-Type: image/png');
$repotModel = M('XXX');
$report = $repotModel->where(['id'=>$reportId])->find();
$base = explode(',', $report[$imgInfos])[];
$base = base64_decode($base);
echo $base;
die();
}
												

最新文章

  1. BFC
  2. WebLogic12.1.1中跨域问题的探讨以及几种常见中间件中跨域问题的解决方法
  3. 根据UIColor对象,获取对应的RGBA值
  4. js生成[n,m]的随机数
  5. 路由器WAN端与LAN端的区别
  6. [SQL]select scope_identity()传回插入相同范围之识别资料行中的最后一个识别值
  7. php pod
  8. Android自定义View,高仿QQ音乐歌词滚动控件!
  9. strace排除Linux服务器故障
  10. php下载远程图片方法总结(curl手动解析header)curl跳转问题解决
  11. 基于visual Studio2013解决C语言竞赛题之0609矩阵处理
  12. HDU 2120 Ice_cream&amp;#39;s world I(并检查集合)
  13. 我对SAP Business One 项目实施的理解
  14. centos6.8_manul_install_oracle112040&amp;manu_create_db
  15. vscode更新后 ctrl+v、ctrl+c、ctrl+x不可以用了,而且光标变粗,已解决
  16. 微信二次开发点击菜单openId的获取
  17. 【BZOJ2823】[AHOI2012]信号塔(最小圆覆盖)
  18. C++ Com控件调用
  19. Ubuntu下安装tftp
  20. cdh部署

热门文章

  1. YTU 2636: B3 指向基类的指针访问派生类的成员函数
  2. POJ3709 K-Anonymous Sequence 斜率优化DP
  3. TI BLE STACK - OSAL
  4. [转载]android常用的API接口调用
  5. bzoj 2101: [Usaco2010 Dec]Treasure Chest 藏宝箱【区间dp】
  6. bzoj 1689: [Usaco2005 Open] Muddy roads 泥泞的路【贪心】
  7. /usr/lib64/python2.6/lib-dynload/pyexpat.so: symbol XML_SetHashSalt, version EXPAT_2_0_1_RH not defined in file libexpat.so.1 with link time reference
  8. 【懒人专用系列】Xind2TestCase的初步探坑
  9. ACM_走楼梯Ⅱ
  10. focus、click、blur、display、float、border、absolute、relative、fixed