使用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中动态显示签名和ip原理
Mar 28 PHP
php去除重复字的实现代码
Sep 16 PHP
PHP获取http请求的头信息实现步骤
Dec 16 PHP
php 根据url自动生成缩略图并处理高并发问题
Jan 23 PHP
PHP清除字符串中所有无用标签的方法
Dec 01 PHP
10款实用的PHP开源工具
Oct 23 PHP
yii权限控制的方法(三种方法)
Dec 28 PHP
CI映射(加载)数据到view层的方法
Mar 28 PHP
golang与PHP输出excel示例
Jul 22 PHP
php自定义截取中文字符串-utf8版
Feb 27 PHP
YII2自动登录Cookie总是失效的解决方法
Jun 28 PHP
PHP PDOStatement::rowCount讲解
Feb 01 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 ss7.5的数据调用 (笔记)
2010/03/08 PHP
php版微信公众平台之微信网页登陆授权示例
2016/09/23 PHP
如何用PHP做到页面注册审核
2017/03/02 PHP
PHP实现的获取文件mimes类型工具类示例
2018/04/08 PHP
Javascript创建Silverlight Plugin以及自定义nonSilverlight和lowSilverlight样式
2010/06/28 Javascript
基于jquery的下拉框改变动态添加和删除表格实现代码
2020/09/12 Javascript
namespace.js Javascript的命名空间库
2011/10/11 Javascript
JavaScript中双叹号!!作用示例介绍
2014/09/21 Javascript
详谈LABJS按需动态加载js文件
2015/05/07 Javascript
JS实现带有3D立体感的银灰色竖排折叠菜单代码
2015/10/20 Javascript
XML、HTML、CSS与JS的区别整理
2016/02/18 Javascript
Javascript中的几种继承方式对比分析
2016/03/22 Javascript
Vue数据驱动模拟实现2
2017/01/11 Javascript
原生js轮播特效
2017/05/18 Javascript
nodejs实现爬取网站图片功能
2017/12/14 NodeJs
javaScript 连接打印机,打印小票的实例
2017/12/29 Javascript
vue项目中引入noVNC远程桌面的方法
2018/03/05 Javascript
vue 父组件给子组件传值子组件给父组件传值的实例代码
2019/04/15 Javascript
python 多线程实现检测服务器在线情况
2015/11/25 Python
使用py2exe在Windows下将Python程序转为exe文件
2016/03/04 Python
Python解惑之True和False详解
2017/04/24 Python
python实战之实现excel读取、统计、写入的示例讲解
2018/05/02 Python
Python中的sys.stdout.write实现打印刷新功能
2020/02/21 Python
Python3.x+pyqtgraph实现数据可视化教程
2020/03/14 Python
html5通过canvas实现刮刮卡效果示例分享
2014/01/27 HTML / CSS
如何在发生故障的节点上重新安装 SQL Server
2013/03/14 面试题
自荐信怎么写好
2013/11/11 职场文书
优秀本科生求职推荐信
2014/02/24 职场文书
餐饮总经理岗位职责
2014/03/07 职场文书
工作会议主持词
2014/03/17 职场文书
巾帼建功标兵事迹材料
2014/05/11 职场文书
银行领导班子四风对照检查材料
2014/09/27 职场文书
婚前协议书范本两则
2014/10/16 职场文书
python如何获取网络数据
2021/04/11 Python
使用Selenium实现微博爬虫(预登录、展开全文、翻页)
2021/04/13 Python
基于Pygame实现简单的贪吃蛇游戏
2021/12/06 Python