使用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取整数函数常用的四种方法小结
Jul 05 PHP
PHP提示Notice: Undefined variable的解决办法
Nov 24 PHP
在PHP中设置、使用、删除Cookie的解决方法
May 06 PHP
php 根据url自动生成缩略图并处理高并发问题
Jan 23 PHP
PHP启动windows应用程序、执行bat批处理、执行cmd命令的方法(exec、system函数详解)
Oct 20 PHP
PHP中soap的用法实例
Oct 24 PHP
php简单定时执行任务的实现方法
Feb 23 PHP
typecho插件编写教程(四):插件挂载
May 28 PHP
php实现的http请求封装示例
Nov 08 PHP
PHP实现二维数组中的查找算法小结
Jun 09 PHP
PHP实现 APP端微信支付功能
Jun 22 PHP
Laravel 框架基于自带的用户系统实现登录注册及错误处理功能分析
Apr 14 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入门的学习方法
2007/01/02 PHP
PHP的博客ping服务代码
2012/02/04 PHP
php结合ajax实现手机发红包的案例
2016/10/13 PHP
PHP文件上传小程序 适合初学者学习!
2019/05/23 PHP
一组JS创建和操作表格的函数集合
2009/05/07 Javascript
JQuery Tips(2) 关于$()包装集你不知道的
2009/12/14 Javascript
JavaScript中链式调用之研习
2011/04/07 Javascript
jquery 使用点滴函数代码
2011/05/20 Javascript
早该知道的7个JavaScript技巧
2013/03/27 Javascript
js toFixed()方法的重写实现精度的统一
2014/03/06 Javascript
node.js中的path.resolve方法使用说明
2014/12/08 Javascript
jQuery制作仿Mac Lion OS滚动条效果
2015/02/10 Javascript
jQuery使用hide方法隐藏指定元素class样式用法实例
2015/03/30 Javascript
js禁止表单重复提交
2017/08/29 Javascript
Vue实现PopupWindow组件详解
2018/04/28 Javascript
Node.js Express安装与使用教程
2018/05/11 Javascript
解决vue 中 echart 在子组件中只显示一次的问题
2018/08/07 Javascript
vue2.0 中使用transition实现动画效果使用心得
2018/08/13 Javascript
对于Python的Django框架使用的一些实用建议
2015/04/03 Python
Python中.py文件打包成exe可执行文件详解
2017/03/22 Python
Python虚拟环境virtualenv的安装与使用详解
2017/05/28 Python
python thrift搭建服务端和客户端测试程序
2018/01/17 Python
在pycharm下设置自己的个性模版方法
2019/07/15 Python
Python FFT合成波形的实例
2019/12/04 Python
Django-celery-beat动态添加周期性任务实现过程解析
2020/11/26 Python
python 如何对logging日志封装
2020/12/02 Python
CSS3 @font-face属性使用指南
2014/12/12 HTML / CSS
Html5应用程序缓存(Cache manifest)
2018/06/04 HTML / CSS
C,C++的几个面试题小集
2013/07/13 面试题
程序员经常用到的UNIX命令
2015/04/13 面试题
应届生服务员求职信
2013/10/31 职场文书
邻里守望志愿服务活动方案
2014/08/15 职场文书
2014年保密工作总结
2014/11/22 职场文书
2014年教研组工作总结
2014/11/26 职场文书
寒假社会实践个人总结
2015/03/06 职场文书
MySQL外键约束(FOREIGN KEY)案例讲解
2021/08/23 MySQL