使用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 $_SERVER当前完整url的写法
Nov 12 PHP
PHP针对常规模板引擎中与CSS/JSON冲突的解决方法
Aug 19 PHP
php中base_convert()进制数字转换函数实例
Nov 20 PHP
浅析php工厂模式
Nov 25 PHP
PHP调用MySQL存储过程并返回值的方法
Dec 26 PHP
实例讲解yii2.0在php命令行中运行的步骤
Dec 01 PHP
详解PHP匿名函数与注意事项
Mar 29 PHP
PHP基本语法实例总结
Sep 09 PHP
PHP将URL转换成短网址的算法分享
Sep 13 PHP
thinkphp5实现无限级分类
Feb 18 PHP
php DES加密算法实例分析
Sep 18 PHP
php设计模式之代理模式分析【星际争霸游戏案例】
Mar 23 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
PHP5常用函数列表(分享)
2013/06/07 PHP
php不用正则验证真假身份证
2013/11/06 PHP
PHP中读取文件的8种方法和代码实例
2014/08/05 PHP
PHP 二维关联数组根据其中一个字段排序(推荐)
2017/04/04 PHP
PHP将英文数字转换为阿拉伯数字实例讲解
2019/01/28 PHP
Thinkphp页面跳转设置跳转等待时间的操作
2019/10/16 PHP
PHP日期和时间函数的使用示例详解
2020/08/06 PHP
jquery解析xml字符串示例分享
2014/03/25 Javascript
教你如何使用node.js制作代理服务器
2014/11/26 Javascript
探析浏览器执行JavaScript脚本加载与代码执行顺序
2016/01/12 Javascript
Bootstrap开发实战之第一次接触Bootstrap
2016/06/02 Javascript
JS产生随机数的几个用法详解
2016/06/22 Javascript
浅谈JS中的!=、== 、!==、===的用法和区别
2016/09/24 Javascript
AngularJS框架的ng-app指令与自动加载实现方法分析
2017/01/04 Javascript
javascript中this用法实例详解
2017/04/06 Javascript
Vue CLI3 开启gzip压缩文件的方式
2018/09/30 Javascript
jQuery实现点击图标div循环放大缩小功能
2018/09/30 jQuery
AngularJs1.x自定义指令独立作用域的函数传入参数方法
2018/10/09 Javascript
JS实现的图片选择顺序切换和循环切换功能示例【测试可用】
2018/12/28 Javascript
关于微信公众号开发无法支付的问题解决
2018/12/28 Javascript
Handtrack.js库实现实时监测手部运动(推荐)
2021/02/08 Javascript
python DataFrame获取行数、列数、索引及第几行第几列的值方法
2018/04/08 Python
对Tensorflow中的变量初始化函数详解
2018/07/27 Python
Python实现获取汉字偏旁部首的方法示例【测试可用】
2018/12/18 Python
Django学习笔记之为Model添加Action
2019/04/30 Python
Python实现的远程文件自动打包并下载功能示例
2019/07/12 Python
使用python爬取抖音视频列表信息
2019/07/15 Python
tensorflow 环境变量设置方式
2020/02/06 Python
python 19个值得学习的编程技巧
2020/08/15 Python
基于 HTML5 WebGL 实现的垃圾分类系统
2019/10/08 HTML / CSS
教导处工作制度
2014/01/18 职场文书
公务员个人年终总结
2015/02/12 职场文书
2019职场实习报告该怎么写?
2019/07/01 职场文书
创业计划书之烤红薯
2019/09/26 职场文书
python Polars库的使用简介
2021/04/21 Python
Vue实现tab导航栏并支持左右滑动功能
2021/06/28 Vue.js