使用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的类 功能齐全的发送邮件类
Oct 09 PHP
php下把数组保存为文件格式的实例应用
Feb 08 PHP
使用PHP导出Word文档的原理和实例
Oct 21 PHP
Opcache导致php-fpm崩溃nginx返回502
Mar 02 PHP
php实现通用的从数据库表读取数据到数组的函数实例
Mar 21 PHP
ECSHOP在PHP5.5及高版本上报错的解决方法
Aug 31 PHP
深入理解PHP中的empty和isset函数
May 26 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
Jun 13 PHP
PHP实现图片压缩
Sep 09 PHP
PHP删除字符串中非字母数字字符方法总结
Jan 20 PHP
php/JS实现的生成随机密码(验证码)功能示例
Jun 06 PHP
laravel excel 上传文件保存到本地服务器功能
Nov 14 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
真正的ZIP文件操作类(php)
2007/07/21 PHP
PHP执行速率优化技巧小结
2008/03/15 PHP
PHP 文章中的远程图片采集到本地的代码
2009/07/30 PHP
php采用curl模仿登录人人网发布动态的方法
2014/11/07 PHP
PHP递归调用数组值并用其执行指定函数的方法
2015/04/01 PHP
javascript面向对象的方式实现的弹出层效果代码
2010/01/28 Javascript
jQuery向上遍历DOM树之parents(),parent(),closest()之间的区别
2013/12/02 Javascript
关于js数组去重的问题小结
2014/01/24 Javascript
javascript+html5实现绘制圆环的方法
2015/07/28 Javascript
AngularJS基于provider实现全局变量的读取和赋值方法
2017/06/28 Javascript
AngularJS实现的JSONP跨域访问数据传输功能详解
2017/07/20 Javascript
浅谈Webpack自动化构建实践指南
2017/12/18 Javascript
NodeJS实现不可逆加密与密码密文保存的方法
2018/03/16 NodeJs
从0到1搭建element后台框架优化篇(打包优化)
2019/05/12 Javascript
浅谈layui里的上传控件问题
2019/09/26 Javascript
Vue实现将数据库中带html标签的内容输出(原始HTML(Raw HTML))
2019/10/28 Javascript
Python脚本实现集群检测和管理功能
2015/03/06 Python
Python实现查找系统盘中需要找的字符
2015/07/14 Python
virtualenv实现多个版本Python共存
2017/08/21 Python
django 中使用DateTime常用的时间查询方式
2019/12/03 Python
Python中pyecharts安装及安装失败的解决方法
2020/02/18 Python
Python如何实现爬取B站视频
2020/05/20 Python
基于CSS3的animation属性实现微信拍一拍动画效果
2020/06/22 HTML / CSS
国际奢侈品品牌童装购物网站:Designer Childrenswear
2019/05/08 全球购物
碧欧泉法国官网:Biotherm法国
2019/10/23 全球购物
如何设置Java的运行环境
2013/04/05 面试题
一个J2EE项目团队的主要人员组成是什么
2012/06/04 面试题
中专生的个人自我评价
2013/12/11 职场文书
空气的环保标语
2014/06/12 职场文书
2014物价局群众路线对照检查材料思想汇报
2014/09/21 职场文书
小学教育见习报告
2014/10/31 职场文书
讲座通知范文
2015/04/23 职场文书
行政处罚告知书
2015/07/01 职场文书
读《钢铁是怎样炼成的》有感:百炼方成钢
2019/11/05 职场文书
JavaScript+HTML实现学生信息管理系统
2021/04/20 Javascript
Python中的datetime包与time包包和模块详情
2022/02/28 Python