/**
* 发邮件
*
* @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. 【概率dp 高斯消元】bzoj3270: 博物馆

    一类成环概率dp的操作模式 Description 有一天Petya和他的朋友Vasya在进行他们众多旅行中的一次旅行,他们决定去参观一座城堡博物馆.这座博物馆有着特别的样式.它包含由m条走廊连接的n ...

  2. MySQL - INSERT 集合

    范例1: INSERT INTO t_table SELECT ot.* FROM t_other_table ot WHERE ot.is_sent = ? and ot.insert_time & ...

  3. (71)Received empty response from Zabbix Agent问题解决

    刚接触zabbix新手少部分会出现如下错误: Received empty response from Zabbix Agent at [192.168.1.2]. Assuming that age ...

  4. linux文件属性文文件类型知识

    文件类型分别介绍: 1.普通文件:我们通过用ls  -l来查看xxx.sql的属性,可以看到第一列内容为-rw-r--r--,值得注意的是第一个符号是-(英文字符减号),在Linux中,以这样的字符开 ...

  5. 封装一个优雅的element ui表格组件

    现在做后台系统用vue + elementUI 的越来越多,那element ui的 el-table 组件肯定也离不开.虽然element ui的table组件很好.但是表格和分页是分离的.每次写表 ...

  6. 【Hadoop/Hive/mapreduce】系列之使用union all 命令之后如何对hive表格使用python进行去重

    业务场景大概是这样的,这里由两个hive表格,tableA 和 tableB, 格式内容都是这样的: uid cate1 cate2 在hive QL中,我们知道union有着自动去重的功能,但是那是 ...

  7. JAVA基础篇—继承

    父类Vehicle package com.car; public class Vehicle { final String brand;// String color;// double speed ...

  8. hdu-1231 连续最大子序列(动态规划)

    Time limit1000 ms Memory limit32768 kB 给定K个整数的序列{ N1, N2, ..., NK },其任意连续子序列可表示为{ Ni, Ni+1, ..., Nj ...

  9. Pond Cascade Gym - 101670B 贪心+数学

    题目:题目链接 思路:题目让求最下面池子满的时间和所有池子满的时间,首先我们考虑所有池子满的时间,我们从上到下考虑,因为某些池子满了之后溢出只能往下溢水,考虑当前池子如果注满时间最长,那么从第一个池子 ...

  10. Git for Windows 工具的使用(一)

    如果你还不知道什么是Git,只知道GitHub,但是还不会用,我想这个教程会帮助你. 前言 鉴于网上目前的教材都太落后,GitHub for Windows已经更新了多个版本,好多界面都发生了变化,所 ...