/**
* 发邮件
*
* @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 发邮件的更多相关文章

  1. # PHP - 使用PHPMailer发邮件

    PHPMailer支持多种邮件发送方式,使用起来非常简单 1.下载PHPMailer https://github.com/PHPMailer/PHPMailer,下载完成加压后, 把下边的两个文件复 ...

  2. 利用第三方类 phpmailer 发邮件

    第一.百度一下 phpmailer 随便找个 girhub 网站 download 下来即可. 第二.复制如下代码放在项目根目录,填写完整你的账号信息,即可发送邮件.就是这么简单! <?php ...

  3. 用phpmailer发邮件 中文乱码问题解决

    加入如下代码解决. $mail->CharSet = "GB2312"; //utf-8; $mail->Encoding = "base64"; ...

  4. Thinkphp5的使用phpmailer实现发邮件功能(163邮箱)

    Thinkphp5本身并没有实现发邮件的功能,至少据我所知. 本文利用网易邮箱作为发邮件的邮箱.作为发送邮件的前提是需要开启SMTP服务,打开网易邮件,点击设置按钮,如下图所示 勾选smtp服务 保存 ...

  5. 怎么使用PHPMailer实现邮件的发送??

    来源:http://www.ido321.com/1103.html 发送邮件是常用的功能,LZ今天在项目中也碰到了,特此分享一下. 首先,去下载PHPMailer 1.https://github. ...

  6. ###使用phpmailer自动邮件提醒

    近期的一个小项目中需要用到邮件自动通知功能,搜了搜,发现phpmailer这个东西大家用的挺多的. 首先去sourceforge下载phpmailer,也可去我的网盘下载,我用的是5.1版本的. 看到 ...

  7. phpmailer实现邮件发送

    phpmailer实现邮件发送 1.代码 <?php require("class.phpmailer.php"); //这个是一个smtp的php文档,网上可以下载得到 $ ...

  8. php发邮件:swiftmailer, php邮件库——swiftmailer

    php发邮件:swiftmailer, php邮件库——swiftmailer 最近看到一个好的php邮件库,与phpmailer作用一样,但性能比phpmailer好,尤其是在处理附件的能力上,发送 ...

  9. PHP 发邮件《转》

    导读:PHP自带的mail()函数,是php内置发邮件的函数,该函数虽然简单,但是要想真正可以发邮件得有很复杂的配置.不适合新手,以及项目实际的应用的开发. php的mail()函数复杂配置,使得直接 ...

随机推荐

  1. luogu4608 [FJOI2016]所有公共子序列问题

    题目描述: luogu loj 题解: 序列自动机(?)+高精+普及dp. 这个是猫老师的序列自动机(字符串从1开始): ]) { memset(t[n],-,sizeof(t[n])); ;i> ...

  2. FastJsonUtils工具类

    fastjson是由alibaba开源的一套json处理器.与其他json处理器(如Gson,Jackson等)和其他的Java对象序列化反序列化方式相比,有比较明显的性能优势. 版权声明:本文为博主 ...

  3. 多线程辅助类之CyclicBarrier(四)

    CyclicBarrier是一个线程辅助类,和<多线程辅助类之CountDownLatch(三)>功能类似,都可以实现一组线程的相互等待.要说不通点,那就是CyclicBarrier在释放 ...

  4. Python开发环境与开发软件的安装

    Python开发的必要因素: 开发软件:PyCharm 社区版 PyCharm安装过程: 首先去官网下载:(链接为:  https://www.jetbrains.com/pycharm/downlo ...

  5. POJ:1904-King's Quest

    King's Quest Time limit15000 ms Case time limit2000 ms Memory limit65536 kB Description Once upon a ...

  6. nova虚拟机镜像从创建到文件系统resize完整流程

    1. 虚拟机镜像的创建和resize流程 nova创建虚拟机涉及的组件比较多,调用比较复杂,这里只列出跟虚拟机镜像创建相关的流程,方便理清虚拟机状态变化的整个流程. nova-api nova.api ...

  7. 安装lwqq

    $ git clone https://github.com/xiehuc/pidgin-lwqq.git $ cd pidgin-lwqq/ $ sudo apt-get install cmake ...

  8. TCP 中的三次握手和四次挥手

    Table of Contents 前言 数据报头部 三次握手 SYN 攻击 四次挥手 半连接 TIME_WAIT 结语 参考链接 前言 TCP 中的三次握手和四次挥手应该是非常著名的两个问题了,一方 ...

  9. logging模块的作用以及应用场景

    一.python中的logging模块 logging模块定义的函数和类为应用程序和库的开发实现了一个灵活的事件日志系统.logging模块是Python的一个标准库模块,由标准库模块提供日志记录AP ...

  10. 2章 perl标量变量

    标量变量 单单存储一个值得变量   ,单个标量值 $name   为变量  区分大小写 $barney=$barney*2   第一次  取值  等号右边    :第二次  赋值 等号左边 双目操作符 ...