使用 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()函数复杂配置,使得直接 ...
随机推荐
- Typescript学习(一)----准备篇(vscode编译ts文件)
什么是typescript? typescript是微软开发的一个脚本语言.他是JavaScript的超级,他遵循es6语法规范,他扩展了JavaScript的语法. 理解es5,es6,javasc ...
- zabbix3.2安装手册
Alexei Vladishev创建了Zabbix项目,当前处于活跃开发状态,Zabbix SIA提供支持. Zabbix是一个企业级的.开源的.分布式的监控套件 Zabbix可以监控网络和服务的监控 ...
- Node项目实战-静态资源服务器
打开github,在github上创建新项目: Repository name: anydoor Descripotion: Tiny NodeJS Static Web server 选择:publ ...
- paper:基于verilog HDL 的高速可综合FSM设计
1.寄存器输出型状态机 VS 组合逻辑输出型状态机 2.状态编码方法 这块讲的不好,也比较少. 3.系统设计中模块划分的指导性原则
- PHP获取文件夹内所有文件包括子目录文件的名称或路径
/* * new getFile($_dir[,$_emptyDir,$_fileType]); * @parma $_dir 是目录名称 * @parma $_emptyDir 是否获取空文件夹,选 ...
- Geode 集群搭建,快速上手使用
Geode 介绍: Geode是一个提供实时.一致访问大型分布式云平台下数据密集型应用的数据管理平台. Geode 通过跨多进程,把内存.CPU.网络资源和可选的本地磁盘汇集起来,来管理应用程序对象及 ...
- nrf51822微信开发入门学习笔记1:开始前的准备
参考:(id:love--baby)https://blog.csdn.net/hunhun1122/article/details/68922493 微信硬件平台:https://iot.weixi ...
- 中国电信物联网平台入门学习笔记7:NB-IOT信号如何检测
NB-IOT设备会因为信号的原因,数据发不出.但数据发不出的原因有很多,这么排除是NB-IOT信号的问题呢?那就需要NB-IOT信号检测装置. 网上的信号检测设备 作为一个常年蜗居在实验室的穷屌丝而言 ...
- Linux扩增卷组、逻辑卷以及缩减逻辑卷
今天我们将了解怎样来扩展卷组,扩展和缩减逻辑卷.在这里,我们可以缩减或者扩展逻辑卷管理(LVM)中的分区,LVM也可称之为弹性卷文件系统. 前置需求使用LVM创建弹性磁盘存储——第一部分 什么时候我们 ...
- Linux学习-开机过程的问题解决
忘记 root 密码的解决之道 新版的 systemd 的管理机制中,默认的 rescue 模式是无法直接取得 root 权限的喔!还是得要 使用 root 的密码才能够登入 rescure 环境.没 ...