使用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简洁函数(PHP简单明了函数语法)
Jun 10 PHP
PHP学习笔记 IIS7下安装配置php环境
Oct 29 PHP
php模板原理讲解
Nov 13 PHP
微信公众平台网页授权获取用户基本信息中授权回调域名设置的变动
Oct 21 PHP
php中使用Ajax时出现Error(c00ce56e)的详细解决方案
Nov 03 PHP
PHP图像处理之imagecreate、imagedestroy函数介绍
Nov 19 PHP
详解PHP中的序列化、反序列化操作
Mar 21 PHP
Laravel如何使用数据库事务及捕获事务失败后的异常详解
Oct 23 PHP
ThinkPHP5框架缓存查询操作分析
May 30 PHP
php输出反斜杠的实例方法
Sep 19 PHP
php实现通过stomp协议连接ActiveMQ操作示例
Feb 23 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
Feb 21 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.3 废弃函数小结
2010/05/16 PHP
仿AS3实现PHP 事件机制实现代码
2011/01/27 PHP
7个超级实用的PHP代码片段
2011/07/11 PHP
php使用ereg验证文件上传的方法
2014/12/16 PHP
PHPExcel笔记, mpdf导出
2016/05/03 PHP
PHP中PCRE正则解析代码详解
2019/04/26 PHP
jquery改变disabled的boolean状态的三种方法
2013/12/13 Javascript
Javascript和Java获取各种form表单信息的简单实例
2014/02/14 Javascript
jQuery中extend函数详解
2015/07/13 Javascript
jQuery简单实现input文本框内灰色提示文本效果的方法
2015/12/02 Javascript
js实现正则匹配中文标点符号的方法
2015/12/23 Javascript
javascript中数组和字符串的方法对比
2016/07/20 Javascript
vue-cli单页应用改成多页应用配置详解
2017/07/14 Javascript
剖析Angular Component的源码示例
2018/03/23 Javascript
js删除数组中某几项的方法总结
2019/01/16 Javascript
JS中的防抖与节流及作用详解
2019/04/01 Javascript
基于VUE实现简单的学生信息管理系统
2021/01/13 Vue.js
Python入门篇之编程习惯与特点
2014/10/17 Python
详解Python中contextlib上下文管理模块的用法
2016/06/28 Python
python实现俄罗斯方块
2018/06/26 Python
Python with用法:自动关闭文件进程
2019/07/10 Python
python nmap实现端口扫描器教程
2020/05/28 Python
pyinstaller 3.6版本通过pip安装失败的解决办法(推荐)
2020/01/18 Python
浅谈Python爬虫原理与数据抓取
2020/07/21 Python
python的数学算法函数及公式用法
2020/11/18 Python
python如何发送带有附件、正文为HTML的邮件
2021/02/27 Python
快速一键生成Python爬虫请求头
2021/03/04 Python
如何用canvas实现在线签名的示例代码
2018/07/10 HTML / CSS
精选奢华:THE LIST
2019/09/05 全球购物
Bloomingdale’s阿联酋:选购奢华时尚、美容及更多
2020/09/22 全球购物
什么是测试驱动开发(TDD)
2012/02/15 面试题
教师自荐信范文
2013/12/09 职场文书
房地产融资计划书
2014/01/10 职场文书
学校班子个人对照检查材料思想汇报
2014/09/27 职场文书
2015年大学生党员承诺书
2015/04/27 职场文书
vue3使用vuedraggable实现拖拽功能
2022/04/06 Vue.js