使用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 相关文章推荐
PHP4和PHP5共存于一系统
Nov 17 PHP
让你的网站首页自动选择语言转跳
Dec 06 PHP
php session应用实例 登录验证
Mar 16 PHP
php中Ctype函数用法详解
Dec 09 PHP
PHP向socket服务器收发数据的方法
Jan 24 PHP
PHP中把对象转换为关联数组代码分享
Apr 09 PHP
PHP中的常见魔术方法功能作用及用法实例
Jul 01 PHP
WordPress中获取所使用的模板的页面ID的简单方法
Dec 31 PHP
PHP+AJAX 投票器功能
Nov 11 PHP
Yii2 中实现单点登录的方法
Mar 09 PHP
php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法
Feb 06 PHP
TP5框架简单登录功能实现方法示例
Oct 31 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 实现公历日期与农历日期的互转换
2017/09/13 PHP
php实现微信公众号企业转账功能
2018/10/01 PHP
laravel框架查询数据集转为数组的两种方法
2019/10/10 PHP
PHP设计模式之组合模式定义与应用示例
2020/02/01 PHP
javascript 对象比较实现代码
2009/04/27 Javascript
JavaScript控制Session操作方法
2013/01/17 Javascript
在javascript中如何得到中英文混合字符串的长度
2014/01/17 Javascript
javascript的解析执行顺序在各个浏览器中的不同
2014/03/17 Javascript
JavaScript 实现打印,打印预览,打印设置
2014/12/30 Javascript
在JavaScript中操作时间之getUTCDate()方法的使用
2015/06/10 Javascript
利用jQuery实现漂亮的圆形进度条倒计时插件
2015/09/30 Javascript
jQuery实现的左右移动焦点图效果
2016/01/14 Javascript
JS中用try catch对代码运行的性能影响分析
2016/12/26 Javascript
js实现一个简单的数字时钟效果
2017/03/29 Javascript
jQuery设置图片等比例缩小的方法
2017/04/29 jQuery
js学习总结_选项卡封装(实例讲解)
2017/07/13 Javascript
laypage.js分页插件使用方法详解
2019/07/27 Javascript
推荐下python/ironpython:从入门到精通
2007/10/02 Python
深入浅出学习python装饰器
2017/09/29 Python
Python中defaultdict与lambda表达式用法实例小结
2018/04/09 Python
python自动保存百度盘资源到百度盘中的实例代码
2019/08/26 Python
python SocketServer源码深入解读
2019/09/17 Python
OpenCV里的imshow()和Matplotlib.pyplot的imshow()的实现
2019/11/25 Python
Python3 用matplotlib绘制sigmoid函数的案例
2020/12/11 Python
Python+kivy BoxLayout布局示例代码详解
2020/12/28 Python
用python制作个视频下载器
2021/02/01 Python
Html5 postMessage实现跨域消息传递
2016/03/11 HTML / CSS
Fashion Eyewear美国:英国线上设计师眼镜和太阳镜的零售商
2016/08/15 全球购物
RetroStage德国:复古服装
2019/02/03 全球购物
EJB面试题
2015/07/28 面试题
大学生文员专业个人求职信范文
2014/01/05 职场文书
英语感恩演讲稿
2014/01/14 职场文书
医德考评自我评价
2014/09/14 职场文书
2014各大专业毕业生自我评价
2014/09/17 职场文书
Nginx配置SSL证书出错解决方案
2021/03/31 Servers
TypeScript实用技巧 Nominal Typing名义类型详解
2022/09/23 Javascript