使用PHPMailer发送邮件实例


Posted in PHP onFebruary 15, 2017

本文实例为大家分享了PHPMailer发送邮件的具体代码,供大家参考,具体内容如下

PHPMailer类源代码下载地址:https://github.com/PHPMailer/PHPMailer

<?php 
/* 
to:  邮件接收地址 
subject: 邮件主题 
body: 邮件内容 
attachpath:附件地址 
cc: 邮件抄送地址 
bcc: 邮件暗抄送地址 
*/ 
function send_mail($to, $subject="", $body="", $attachpath="", $cc="", $bcc="") 
{ 
 // 对邮件内容进行必要的过滤 
 $body = eregi_replace("[\]",'',$body);  
 
 // 设定时区 
 date_default_timezone_set("PRC"); 
 
 require_once('class.phpmailer.php'); 
 require_once("class.smtp.php"); 
 
 // 实例化PHPMailer对象 
 $mail = new PHPMailer();     
 
 // 设定邮件编码,默认ISO-8859-1,如果发中文此项必须设置为 UTF-8 
 $mail->CharSet ="UTF-8"; 
 
 // 设定使用SMTP服务 
 $mail->IsSMTP(); 
 
 // 启用 SMTP 验证功能 
 $mail->SMTPAuth = true; 
 
 // SMTP 安全协议 
 $mail->SMTPSecure = "ssl"; 
 
 // SMTP 服务器 
 $mail->Host = "smtp.qq.com"; 
 
 // SMTP服务器的端口号 
 $mail->Port = 465; 
 
 // SMTP服务器用户名和密码 
 $mail->Username = "xxxxxx@qq.com";  
 $mail->Password = "xxxxxx";   
 
 // 设置发件人地址和名称,名称可有可无 
 $mail->SetFrom("xxxxxx@qq.com", "xxxxxx"); 
 
 // 设置邮件接收地址和名称,第二个参数无所谓。必须用AddAddress添加邮件接收地址。AddReplyTo方法没什么用。 
 //$mail->AddReplyTo("xxxxxx@163.com", "xxxxxx"); 
 $mailaddrs = split(",", $to); 
 foreach ($mailaddrs as $addres) 
 { 
 //校验邮箱地址是否合法 
 if (filter_var($addres, FILTER_VALIDATE_EMAIL)) 
 { 
  $mail->AddAddress($addres);  
 } 
 } 
 
 // 设置邮件抄送地址 
 if ($cc != "") 
 { 
 $ccaddrs = split(",", $cc); 
 foreach ($ccaddrs as $ccaddr) 
 { 
  //校验邮箱地址是否合法 
  if (filter_var($ccaddr, FILTER_VALIDATE_EMAIL)) 
  { 
  $mail->addCC($ccaddr);  
  } 
 } 
 } 
 
 // 设置邮件暗抄送地址,私密发送 
 if ($bcc != "") 
 { 
 $bccaddrs = split(",", $bcc); 
 foreach ($bccaddrs as $bccaddr) 
 { 
  //校验邮箱地址是否合法 
  if (filter_var($bccaddr, FILTER_VALIDATE_EMAIL)) 
  { 
  $mail->addBCC($bccaddr);  
  } 
 } 
 } 
 
 // 设置邮件主题 
 $mail->Subject = $subject; 
 
 // 可选项,向下兼容考虑 
 $mail->AltBody = "为了查看该邮件,请切换到支持 HTML 的邮件客户端"; 
 
 // 设置邮件内容 
 $mail->MsgHTML($body);     
 
 //使用HTML格式发送邮件 
 $mail->IsHTML(true); 
 
 // 添加附件,第一个参数是附件地址,第二个参数附件名 
 //$mail->AddAttachment("images/phpmailer.gif"); 
 $mail->AddAttachment($attachpath); 
 
 // 发送邮件 
 if(!$mail->Send()) 
 { 
 echo "发送失败:" . $mail->ErrorInfo . PHP_EOL; 
 } 
 else 
 { 
 echo "恭喜,邮件发送成功!" . PHP_EOL; 
 } 
} 
$emailAddr = "xxxxxx@163.com,xxxxxx@qq.com,"; 
send_mail($emailAddr, "测试邮件", "<h1>使用PHPMailer类发送的邮件。</h1>", "mail/20170216.gif", "xxxxxx@qq.com", ""); 
?>

测试结果:

使用PHPMailer发送邮件实例

说明:第44行的SMTP服务器密码为qq邮箱授权码。

登录QQ邮箱->设置->账户->POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务->生成授权码

使用PHPMailer发送邮件实例

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
PHP.MVC的模板标签系统(四)
Sep 05 PHP
用户的详细注册和判断
Oct 09 PHP
在PHP中使用灵巧的体系结构
Oct 09 PHP
利用Ffmpeg获得flv视频缩略图和视频时间的代码
Sep 15 PHP
解析PHP生成静态html文件的三种方法
Jun 18 PHP
PHP解决URL中文GBK乱码问题的两种方法
Jun 03 PHP
php使用Session和文件统计在线人数
Jul 04 PHP
PHP设置进度条的方法
Jul 08 PHP
ThinkPHP3.2.2实现持久登录(记住我)功能的方法
May 16 PHP
最新最全PHP生成制作验证码代码详解(推荐)
Jun 12 PHP
利用PHP抓取百度阅读的方法示例
Dec 18 PHP
php封装一个异常的处理类
Jun 08 PHP
php使用gd2绘制基本图形示例(直线、圆、正方形)
Feb 15 #PHP
php使用GD2绘制几何图形示例
Feb 15 #PHP
php使用Jpgraph创建柱状图展示年度收支表效果示例
Feb 15 #PHP
php使用Jpgraph创建折线图效果示例
Feb 15 #PHP
php使用Jpgraph创建3D饼形图效果示例
Feb 15 #PHP
PHP反射机制原理与用法详解
Feb 15 #PHP
thinkphp Apache配置重启Apache1 restart 出错解决办法
Feb 15 #PHP
You might like
php生成缩略图的类代码
2008/10/02 PHP
ajax+php打造进度条 readyState各状态
2010/03/20 PHP
php和jquery实现地图区域数据统计展示数据示例
2014/02/12 PHP
DEDECMS首页调用图片集里的多张图片
2015/06/05 PHP
phpMyAdmin安装并配置允许空密码登录
2015/07/04 PHP
php将服务端的文件读出来显示在web页面实例
2016/10/31 PHP
js程序中美元符号$是什么
2008/06/05 Javascript
javascript 全角转换实现代码
2009/07/17 Javascript
用unescape反编码得出汉字示例
2014/04/24 Javascript
用console.table()调试javascript
2014/09/04 Javascript
JavaScript实现的伸展收缩型菜单代码
2015/10/14 Javascript
js表单提交和submit提交的区别实例分析
2015/12/10 Javascript
JavaScript ES5标准中新增的Array方法
2016/06/28 Javascript
javascript 中的console.log和弹出窗口alert
2016/08/30 Javascript
JavaScript 实现的checkbox经典实例分享
2016/10/16 Javascript
Bootstrap CSS组件之下拉菜单(dropdown)
2016/12/17 Javascript
轻松理解JavaScript之AJAX
2017/03/15 Javascript
js实现首屏延迟加载实现方法 js实现多屏单张图片延迟加载效果
2017/07/17 Javascript
Angularjs cookie 操作实例详解
2017/09/27 Javascript
jquery ajax异步提交表单数据的方法
2017/10/27 jQuery
elementUI 动态生成几行几列的方法示例
2019/07/11 Javascript
js实现星星打分效果
2020/07/05 Javascript
详谈Python2.6和Python3.0中对除法操作的异同
2017/04/28 Python
Python3一行代码实现图片文字识别的示例
2018/01/15 Python
python 常用的基础函数
2018/07/10 Python
详解Python 函数如何重载?
2019/04/23 Python
python 指定源路径来解决import问题的操作
2021/03/04 Python
vivo智能手机官方商城:vivo
2016/09/22 全球购物
瑞典时尚服装购物网站:Miinto.se
2017/10/30 全球购物
精选干货:Java精选笔试题附答案
2014/01/18 面试题
网络工程师的自我评价
2013/10/02 职场文书
高一数学教学反思
2014/02/07 职场文书
护士毕业实习感言
2014/03/05 职场文书
做人民满意的公务员活动方案
2014/08/25 职场文书
介绍信范文
2015/01/31 职场文书
《狼牙山五壮士》读后感:宁死不屈,视死如归
2019/08/16 职场文书