使用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 获取SWF动画截图示例代码
Feb 10 PHP
PHP的反射类ReflectionClass、ReflectionMethod使用实例
Aug 05 PHP
php使用$_POST或$_SESSION[]向js函数传参
Sep 16 PHP
php延迟静态绑定实例分析
Feb 08 PHP
php获取百度收录、百度热词及百度快照的方法
Apr 02 PHP
什么是PEAR?什么是PECL?PHP中两个容易混淆的概念解释
Jul 01 PHP
PHP中的session安全吗?
Jan 22 PHP
详解WordPress中的头像缓存和代理中的缓存更新方法
Mar 01 PHP
Zend Framework实现具有基本功能的留言本(附demo源码下载)
Mar 22 PHP
Yii2.0预定义的别名功能小结
Jul 04 PHP
yii2.0整合阿里云oss的示例代码
Sep 19 PHP
Laravel中使用Queue的最基本操作教程
Dec 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数据库调用类调用实例(详细注释)
2012/07/12 PHP
php calender(日历)二个版本代码示例(解决2038问题)
2013/12/24 PHP
php实现遍历文件夹的方法汇总
2017/03/02 PHP
PHP环形链表实现方法示例
2017/09/15 PHP
laravel高级的Join语法详解以及使用Join多个条件
2019/10/16 PHP
jquery 图片截取工具jquery.imagecropper.js
2010/04/09 Javascript
document.getElementBy(&quot;id&quot;)与$(&quot;#id&quot;)有什么区别
2013/09/22 Javascript
JQuery中绑定事件(bind())和移除事件(unbind())
2015/02/27 Javascript
JavaScript删除数组元素的方法
2015/03/20 Javascript
Vue+Element使用富文本编辑器的示例代码
2017/08/14 Javascript
全选复选框JavaScript编写小结(附代码)
2017/08/16 Javascript
angular1.x ui-route传参的三种写法小结
2018/08/31 Javascript
[50:29]2014 DOTA2华西杯精英邀请赛 5 24 DK VS iG
2014/05/26 DOTA
Python实现的数据结构与算法之队列详解
2015/04/22 Python
Centos 升级到python3后pip 无法使用的解决方法
2018/06/12 Python
python 控制Asterisk AMI接口外呼电话的例子
2019/08/08 Python
导入tensorflow时报错:cannot import name 'abs'的解决
2019/10/10 Python
python实现读取类别频数数据画水平条形图案例
2020/04/24 Python
Python CSS选择器爬取京东网商品信息过程解析
2020/06/01 Python
Python devel安装失败问题解决方案
2020/06/09 Python
Python局部变量与全局变量区别原理解析
2020/07/14 Python
python 多线程共享全局变量的优劣
2020/09/24 Python
python读写数据读写csv文件(pandas用法)
2020/12/14 Python
HTML5声音录制/播放功能的实现代码
2018/05/03 HTML / CSS
英国在线自行车商店:Evans Cycles
2016/09/26 全球购物
薇诺娜官方网上商城:专注敏感肌肤
2017/05/25 全球购物
德国高端单身人士交友网站:ElitePartner
2018/12/02 全球购物
个性化皮包、小袋、生活配件:Mon Purse
2019/03/26 全球购物
Timberland德国官网:靴子、鞋子、衣服、夹克及配件
2019/12/10 全球购物
澳大利亚家用电器在线商店:Billy Guyatts
2020/05/05 全球购物
武汉高蓝德国际.net机试
2016/06/24 面试题
乡镇个人对照检查材料
2014/08/22 职场文书
公务员党员评议表自我鉴定
2014/09/14 职场文书
Python实现简单的猜单词
2021/06/15 Python
Redis中缓存穿透/击穿/雪崩问题和解决方法
2021/12/04 Redis
详解Python内置模块Collections
2022/03/22 Python