使用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 相关文章推荐
推荐一篇入门级的Class文章
Mar 19 PHP
PHP 实用代码收集
Jan 22 PHP
PHP 面向对象 final类与final方法
May 05 PHP
PHP 全角转半角实现代码
May 16 PHP
备份mysql数据库的php代码(一个表一个文件)
May 28 PHP
php fsockopen伪造post与get方法的详解
Jun 14 PHP
PHP学习笔记(二):变量详解
Apr 17 PHP
PHP简单的MVC框架实现方法
Dec 01 PHP
php实现爬取和分析知乎用户数据
Jan 26 PHP
php自定义函数实现汉字转换utf8编码的方法
Sep 29 PHP
Laravel 自带的Auth验证登录方法
Sep 30 PHP
php操作redis数据库常见方法实例总结
Feb 20 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将数据导入到Foxmail的实现代码
2010/09/05 PHP
PHP中几种常见的超时处理全面总结
2012/09/11 PHP
php中使用array_filter()函数过滤数组实例讲解
2021/03/03 PHP
url 编码 js url传参中文乱码解决方案
2010/04/11 Javascript
为Extjs加加速(javascript加速)
2010/08/19 Javascript
lyhucSelect基于Jquery的Select数据联动插件
2011/03/29 Javascript
使用jQuery.fn自定义jQuery翻页插件
2013/01/20 Javascript
Event altKey,ctrlKey,shiftKey属性解析
2013/12/18 Javascript
深入理解JavaScript的React框架的原理
2015/07/02 Javascript
AngularJS 模块化详解及实例代码
2016/09/14 Javascript
使用ng-packagr打包Angular的方法示例
2018/09/21 Javascript
详解如何模拟实现node中的Events模块(通俗易懂版)
2019/04/15 Javascript
vue使用高德地图点击下钻上浮效果的实现思路
2019/10/12 Javascript
Vue自定义指令结合阿里云OSS优化图片的实现方法
2019/11/12 Javascript
如何在vue-cli中使用css-loader实现css module
2021/01/07 Vue.js
python 时间戳与格式化时间的转化实现代码
2016/03/23 Python
简单实现python画圆功能
2018/01/25 Python
Python3按一定数据位数格式处理bin文件的方法
2019/01/24 Python
记录Python脚本的运行日志的方法
2019/06/05 Python
浅谈keras中Dropout在预测过程中是否仍要起作用
2020/07/09 Python
英国著名的茶叶品牌:Whittard of Chelsea
2016/09/22 全球购物
英国领先的豪华时尚家居网上商店:Amara
2019/08/12 全球购物
万代美国官网:PREMIUM BANDAI USA
2020/09/11 全球购物
JSF的标签库有哪些
2012/04/27 面试题
自主招生自荐信指南
2014/02/04 职场文书
小学中秋节活动方案
2014/02/06 职场文书
关于祖国的演讲稿
2014/05/04 职场文书
团日活动总结书格式
2014/05/08 职场文书
个人政风行风自查自纠报告
2014/10/21 职场文书
采购内勤岗位职责
2015/04/13 职场文书
安全生产隐患排查制度
2015/08/05 职场文书
2016年小学生寒假家长评语
2015/10/10 职场文书
python3.9之你应该知道的新特性详解
2021/04/29 Python
Python使用scapy模块发包收包
2021/05/07 Python
redis实现排行榜功能
2021/05/24 Redis
RPM包方式安装Oracle21c的方法详解
2021/08/23 Oracle