使用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(2)
Oct 09 PHP
简化php模板页面中分页代码的解析
Feb 06 PHP
php中对2个数组相加的函数
Jun 24 PHP
PHP5各个版本的新功能和新特性总结
Mar 16 PHP
php密码生成类实例
Sep 24 PHP
php常用文件操作函数汇总
Nov 22 PHP
PHP生成树的方法
Jul 28 PHP
PHP弹出对话框技巧详细解读
Sep 26 PHP
PHP中set_include_path()函数相关用法分析
Jul 18 PHP
php正则判断是否为合法身份证号的方法
Mar 16 PHP
老生常谈PHP数组函数array_merge(必看篇)
May 25 PHP
PHP实现的简单sha1加密功能示例
Aug 27 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的5个入手程序
2006/11/23 PHP
PHP strtotime函数用法、实现原理和源码分析
2015/02/04 PHP
WordPress中重置文章循环的rewind_posts()函数讲解
2016/01/11 PHP
golang、python、php、c++、c、java、Nodejs性能对比
2017/03/12 NodeJs
PHP 中 var_export、print_r、var_dump 调试中的区别
2018/06/19 PHP
jquery form表单序列化为对象的示例代码
2014/03/05 Javascript
jQuery实现炫酷的鼠标轨迹特效
2015/02/01 Javascript
javascript中Date()函数在各浏览器中的显示效果
2015/06/18 Javascript
js实现点击切换TAB标签实例
2015/08/21 Javascript
3种js实现string的substring方法
2015/11/09 Javascript
jQuery插件实现适用于移动端的地址选择器
2016/02/18 Javascript
jQuery对checkbox 复选框的全选全不选反选的操作
2016/08/09 Javascript
关于Vue.js 2.0的Vuex 2.0 你需要更新的知识库
2016/11/30 Javascript
纯js三维数组实现三级联动效果
2017/02/07 Javascript
JS计算输出100元钱买100只鸡问题的解决方法
2018/01/04 Javascript
angularJs自定义过滤器实现手机号信息隐藏的方法
2018/10/08 Javascript
记录一次完整的react hooks实践
2019/03/11 Javascript
vue的keep-alive中使用EventBus的方法
2019/04/23 Javascript
如何在Vue中抽离接口配置文件
2019/10/31 Javascript
pycharm 使用心得(五)断点调试
2014/06/06 Python
Python Tkinter GUI编程入门介绍
2015/03/10 Python
python3 cvs将数据读取为字典的方法
2018/12/22 Python
python实现Dijkstra静态寻路算法
2019/01/17 Python
Python实现截取PDF文件中的几页代码实例
2019/03/11 Python
opencv python在视屏上截图功能的实现
2020/03/05 Python
德国在线订购鲜花:Fleurop
2018/08/25 全球购物
Converse匡威法国官网:美国著名帆布鞋品牌
2018/12/05 全球购物
Keds加拿大官网:购买帆布运动鞋和皮鞋
2019/09/26 全球购物
传播学专业毕业生自荐信
2013/11/04 职场文书
土建工程师岗位职责
2014/06/10 职场文书
党校毕业心得体会
2014/09/13 职场文书
公安机关纪律作风整顿个人剖析材料材料
2014/10/10 职场文书
党校个人总结
2015/03/04 职场文书
停课通知书
2015/04/24 职场文书
比赛主持人开场白
2015/05/29 职场文书
手把手教你实现PyTorch的MNIST数据集
2021/06/28 Python