使用 PHPMailer 发邮件
/**
* 发邮件
*
* @param array $receiver 接收人信息
* @param array $attachment_info 附件信息
* @param string $is_html 是否html内容 默认值不是
* @param string $mail_title 邮件标题
* @param string $mail_body 邮件内容
* @return boolean 发送成功与否
*
*
* ===================
* $receiver = array(
* array('mail_address'=>'xxx@qq.com','user_name'=>'张三','type' => 1),
* array('mail_address'=>'xxx@qq.com','user_name'=>'李四','type' => 2),
* array('mail_address'=>'xxx@qq.com','user_name'=>'张三','type' => 3),
* )
* type: 1-密送 2-抄送 3-主送
* ===================
*
* ===================
* $attachment_info = array(
* array('file_full_name' => 'xx/xxx/test.jpg', 'attachment_name'=> 'beautiful.jpg'),
* array('file_full_name' => 'xx/xxx/test.jpg', 'attachment_name'=> 'beautiful.jpg'),
*
* )
* file_full_name 文件全路径 attachment_name 邮件里边的附件名称
* ===================
*/
function sendMail($receiver, $mail_title = "sysinfo", $mail_body = 'test', $attachment_info = array(), $is_html = false){
if (empty($receiver)){
return false;
}
require_once LIB_PATH . '/PHPMailer/PHPMailerAutoload.php';
$mail = new PHPMailer();
$mail->isSMTP(); // Set mailer to use SMTP
$mail->CharSet='UTF-8'; // 设置邮件的字符编码,这很重要,不然中文乱码
$mail->Host = 'smtp.exmail.qq.com'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // 开启认证
$mail->WordWrap = 50; //设置每行最大字符数,超过改数后自动换行
$mail->Username = 'aaa@xxx.com'; // SMTP username
$mail->Password = 'bbb@xxx'; // SMTP password /*设置信件是否是HTML格式*/
$mail->isHTML($is_html); /*发件人信息*/
$mail->From = 'aaa@xxx.com';
$mail->FromName = '系统'; /*添加收件人*/
if (!empty($receiver)){
foreach ($receiver as $val){
if (empty($val['mail_address'])){
continue;
}
if ($val['type'] == 1){
$mail->addBCC($val['mail_address'], $val['user_name']); //密送,不出现在收件方列表里边
}elseif($val['type'] == 2){
$mail->addCC($val['mail_address'], $val['user_name']); //抄送
}elseif ($val['type'] == 3){
$mail->addAddress($val['mail_address'], $val['user_name']); //主送
}
}
} /*添加附件*/
if (!empty($attachment_info)){
foreach ($attachment_info as $val){
if (empty($val['file_full_name'])){
continue;
}
$mail->addAttachment($val['file_full_name'], $val['download_name']);
}
} /*标题*/
$mail->Subject = $mail_title;
/*内容*/
$mail->Body = $mail_body; /*发信*/
if(!$mail->send()) {
//$mail->ErrorInfo;
return false;
} else {
return true;
}
}
使用 PHPMailer 发邮件的更多相关文章
- # PHP - 使用PHPMailer发邮件
PHPMailer支持多种邮件发送方式,使用起来非常简单 1.下载PHPMailer https://github.com/PHPMailer/PHPMailer,下载完成加压后, 把下边的两个文件复 ...
- 利用第三方类 phpmailer 发邮件
第一.百度一下 phpmailer 随便找个 girhub 网站 download 下来即可. 第二.复制如下代码放在项目根目录,填写完整你的账号信息,即可发送邮件.就是这么简单! <?php ...
- 用phpmailer发邮件 中文乱码问题解决
加入如下代码解决. $mail->CharSet = "GB2312"; //utf-8; $mail->Encoding = "base64"; ...
- Thinkphp5的使用phpmailer实现发邮件功能(163邮箱)
Thinkphp5本身并没有实现发邮件的功能,至少据我所知. 本文利用网易邮箱作为发邮件的邮箱.作为发送邮件的前提是需要开启SMTP服务,打开网易邮件,点击设置按钮,如下图所示 勾选smtp服务 保存 ...
- 怎么使用PHPMailer实现邮件的发送??
来源:http://www.ido321.com/1103.html 发送邮件是常用的功能,LZ今天在项目中也碰到了,特此分享一下. 首先,去下载PHPMailer 1.https://github. ...
- ###使用phpmailer自动邮件提醒
近期的一个小项目中需要用到邮件自动通知功能,搜了搜,发现phpmailer这个东西大家用的挺多的. 首先去sourceforge下载phpmailer,也可去我的网盘下载,我用的是5.1版本的. 看到 ...
- phpmailer实现邮件发送
phpmailer实现邮件发送 1.代码 <?php require("class.phpmailer.php"); //这个是一个smtp的php文档,网上可以下载得到 $ ...
- php发邮件:swiftmailer, php邮件库——swiftmailer
php发邮件:swiftmailer, php邮件库——swiftmailer 最近看到一个好的php邮件库,与phpmailer作用一样,但性能比phpmailer好,尤其是在处理附件的能力上,发送 ...
- PHP 发邮件《转》
导读:PHP自带的mail()函数,是php内置发邮件的函数,该函数虽然简单,但是要想真正可以发邮件得有很复杂的配置.不适合新手,以及项目实际的应用的开发. php的mail()函数复杂配置,使得直接 ...
随机推荐
- Android驱动开发读书笔记五
第五章 本章介绍了S3C6410开发板的功能,开发板的不同主要是在烧录嵌入式系统的方式不同,以及如何在此开发板上安装Android. 1.安装串口调试工具minicom 首先需要一根USB转串口线,由 ...
- 洛谷 P1516 青蛙的约会
https://www.luogu.org/problemnew/show/P1516#sub 题意还是非常好理解的..... 假如这不是一道环形的跑道而是一条直线,你会怎样做呢? 如果是我就会列一个 ...
- 关于bc中小数点length,scale,(())以及进制转换
这是我在codewar上遇到的一个题,我用我自己的方法做出了解答,如下: 1 #!/bin/bash 2 3 distance=`echo "$1*10000"|bc|cut -d ...
- Oracle rownum的理解
核心过程分三步: 从表中取出行(无索引的话,顺序取出). 根据当前结果集,为当前行添加rownum. 条件筛选,如通过则添加到结果集中. 完.
- cf 1020 C
C. Elections time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...
- debian 7 stable 不能编译android源码
rebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8-linaro/bin/arm-linux-androideabi-gcc: /lib/x86_ ...
- InnoDB Redo Flush及脏页刷新机制深入分析
概要: 我们知道InnoDB采用Write Ahead Log策略来防止宕机数据丢失,即事务提交时,先写重做日志,再修改内存数据页,这样就产生了脏页.既然有重做日志保证数据持久性,查询时也可以直接从缓 ...
- Java线程和多线程(四)——主线程中的异常
作为Java的开发者,在运行程序的时候会碰到主线程抛异常的情况.如果开发者使用Java的IDE比如Eclipse或者Intellij IDEA的话,可能是不需要直接面对这个问提的,因为IDE会处理运行 ...
- day37-- &MySQL step1
m1.客户端与数据库服务器端是通过socket来交互数据,对数据库的理解:数据库就是一个文件夹,表就类比文件.m2.常用语句#查看数据库show databases:#创建数据库create data ...
- tar.xz结尾的文件的解压缩方法
例如: codeblocks-13.12-1_i386.debian.stable.tar 这个压缩包也是两层压缩,外面是xz压缩方式,里层是tar压缩方式. 解压缩方法: $xz -d ***.ta ...