使用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执行批量mysql语句的解决方法
May 02 PHP
PHP设计模式之解释器模式的深入解析
Jun 13 PHP
Laravel 5框架学习之向视图传送数据
Apr 08 PHP
PHP实现即时输出、实时输出内容方法
May 27 PHP
从刷票了解获得客户端IP的方法
Sep 21 PHP
php的debug相关函数用法示例
Jul 11 PHP
php mysql 封装类实例代码
Sep 18 PHP
thinkPHP中_initialize方法实例分析
Dec 05 PHP
php中引用&amp;的用法分析【变量引用,函数引用,对象引用】
Dec 12 PHP
PHP一个简单的无需刷新爬虫
Jan 05 PHP
PHP实现单文件、多个单文件、多文件上传函数的封装示例
Sep 02 PHP
php伪静态验证码不显示的解决方案
Sep 26 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完整的日历类(CLASS)
2006/11/27 PHP
判断是否为指定长度内字符串的php函数
2010/02/16 PHP
PHP中设置时区方法小结
2012/06/03 PHP
php调用新浪短链接API的方法
2014/11/08 PHP
jquery 查找iframe父级页面元素的实现代码
2011/08/28 Javascript
jquery 中多条件选择器,相对选择器,层次选择器的区别
2012/07/03 Javascript
JavaScript判断文件上传类型的方法
2014/09/02 Javascript
innerHTML动态添加html代码和脚本兼容多个浏览器
2014/10/11 Javascript
JavaScript中日期函数的相关操作知识
2016/08/03 Javascript
利用D3.js实现最简单的柱状图示例代码
2016/12/09 Javascript
如何利用JQuery实现从底部回到顶部的功能
2016/12/27 Javascript
node.js(express)中使用Jcrop进行图片剪切上传功能
2017/04/21 Javascript
基于js 本地存储(详解)
2017/08/16 Javascript
15 分钟掌握vue-next响应式原理
2019/10/13 Javascript
Sublime Text3 配置 NodeJs 环境的方法
2020/05/20 NodeJs
Python中bisect的用法
2014/09/23 Python
详解Python当中的字符串和编码
2015/04/25 Python
基于Django的ModelForm组件(详解)
2017/12/07 Python
PyQt5重写QComboBox的鼠标点击事件方法
2019/06/25 Python
在Django的View中使用asyncio的方法
2019/07/12 Python
Python timer定时器两种常用方法解析
2020/01/20 Python
python GUI库图形界面开发之PyQt5表格控件QTableView详细使用方法与实例
2020/03/01 Python
详解解决jupyter不能使用pytorch的问题
2021/02/18 Python
CSS3实现可爱的小黄人动画
2016/07/11 HTML / CSS
Omio荷兰:预订火车、巴士和机票
2018/11/04 全球购物
运动会广播稿150字
2014/02/19 职场文书
教师产假请假条
2014/04/10 职场文书
体育课课后反思
2014/04/24 职场文书
勤俭节约演讲稿
2014/05/08 职场文书
护理学院专科毕业生求职信
2014/06/28 职场文书
2014年医院科室工作总结
2014/12/20 职场文书
2015年科普工作总结
2015/07/23 职场文书
体育教师教学随笔
2015/08/15 职场文书
Python list去重且保持原顺序不变的方法
2021/04/03 Python
css中z-index: 0和z-index: auto的区别
2021/08/23 HTML / CSS
python绘制简单直方图(质量分布图)的方法
2022/04/21 Python