使用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 图片上传实现代码 带详细注释
Apr 29 PHP
PHP之COOKIE支持详解
Sep 20 PHP
比较strtr, str_replace和preg_replace三个函数的效率
Jun 26 PHP
PHP制作3D扇形统计图以及对图片进行缩放操作实例
Oct 23 PHP
php和editplus正则表达式去除空白行
Apr 17 PHP
php验证手机号码
Nov 11 PHP
PHP程序中使用adodb连接不同数据库的代码实例
Dec 19 PHP
功能强大的PHP发邮件类
Aug 29 PHP
PHP下的浮点运算不准的解决方法
Oct 27 PHP
yii2利用自带UploadedFile实现上传图片的示例
Feb 16 PHP
THINKPHP在添加数据的时候获取主键id的值方法
Apr 03 PHP
PHP ajax+jQuery 实现批量删除功能实例代码小结
Dec 06 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
在PHP3中实现SESSION的功能(一)
2006/10/09 PHP
PHP中MD5函数使用实例代码
2008/06/07 PHP
php实现只保留mysql中最新1000条记录
2015/06/18 PHP
全面解析PHP验证码的实现原理 附php验证码小案例
2016/08/17 PHP
JavaScript 字符串与数组转换函数[不用split与join]
2009/12/13 Javascript
JS实现程序暂停与继续功能代码解读
2013/10/10 Javascript
JavaScript中九种常用排序算法
2014/09/02 Javascript
jQuery验证插件validation使用指南
2015/04/21 Javascript
函数window.open实现关闭所有的子窗口
2015/08/03 Javascript
谈谈Jquery中的children find 的区别有哪些
2015/10/19 Javascript
jQuery使用中可能被XSS攻击的一些危险环节提醒
2016/05/24 Javascript
jQuery实现限制文本框的输入长度
2017/01/11 Javascript
bootstrap table 数据表格行内修改的实现代码
2017/02/13 Javascript
JS判断两个对象内容是否相等的方法示例
2017/04/10 Javascript
vue+vuecli+webpack中使用mockjs模拟后端数据的示例
2017/10/24 Javascript
JavaScript 处理树数据结构的方法示例
2019/06/16 Javascript
[29:59]完美世界DOTA2联赛PWL S3 Forest vs access 第二场 12.11
2020/12/13 DOTA
用Python操作字符串之rindex()方法的使用
2015/05/19 Python
python实现根据主机名字获得所有ip地址的方法
2015/06/28 Python
详解python使用递归、尾递归、循环三种方式实现斐波那契数列
2018/01/16 Python
Python爬虫包BeautifulSoup实例(三)
2018/06/17 Python
python实现定时发送qq消息
2019/01/18 Python
Python正则表达式匹配日期与时间的方法
2019/07/07 Python
django项目用higcharts统计最近七天文章点击量
2019/08/17 Python
django连接oracle时setting 配置方法
2019/08/29 Python
python标识符命名规范原理解析
2020/01/10 Python
导致python中import错误的原因是什么
2020/07/01 Python
python中把元组转换为namedtuple方法
2020/12/09 Python
三只松鼠官方旗舰店:全网坚果销售第1
2017/11/25 全球购物
学生自我鉴定
2013/12/18 职场文书
化学教师自荐信范文
2013/12/28 职场文书
房地产融资计划书
2014/01/10 职场文书
党风廉政承诺书
2014/03/27 职场文书
项目投资合作意向书
2014/07/29 职场文书
python之基数排序的实现
2021/07/26 Python
python中的getter与setter你了解吗
2022/03/24 Python