使用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 相关文章推荐
Content-type 的说明
Oct 09 PHP
利用php+mysql来做一个功能强大的在线计算器
Oct 12 PHP
PHP执行批量mysql语句的解决方法
May 02 PHP
浅析php中jsonp的跨域实例
Jun 21 PHP
将php数组输出html表格的方法
Feb 24 PHP
PHP获取短链接跳转后的真实地址和响应头信息的方法
Jul 25 PHP
php实现scws中文分词搜索的方法
Dec 25 PHP
session 加入redis的实现代码
Jul 15 PHP
图文详解PHP环境搭建教程
Jul 16 PHP
PHP正则匹配日期和时间(时间戳转换)的实例代码
Dec 14 PHP
PHP删除数组中指定值的元素常用方法实例分析【4种方法】
Aug 21 PHP
php实现数组中出现次数超过一半的数字的统计方法
Oct 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
php使用pack处理二进制文件的方法
2014/07/03 PHP
WordPress开发中用于获取近期文章的PHP函数使用解析
2016/01/05 PHP
PHP调试的强悍利器之PHPDBG
2016/02/22 PHP
php mailer类调用远程SMTP服务器发送邮件实现方法
2016/03/04 PHP
php代码检查代理ip的有效性
2016/08/19 PHP
PHP使用SOAP调用API操作示例
2018/12/25 PHP
JavaScript中的对象化编程
2008/01/16 Javascript
jQuery.ajax 用户登录验证代码
2010/10/29 Javascript
js substr支持中文截取函数代码(中文是双字节)
2013/04/17 Javascript
js局部刷新页面时间具体实现
2013/07/04 Javascript
jQuery性能优化的38个建议
2014/03/04 Javascript
使用js判断TextBox控件值改变然后出发事件
2014/03/07 Javascript
jQuery自带的一些常用方法总结
2014/09/03 Javascript
学习JavaScript设计模式之享元模式
2016/01/18 Javascript
babel基本使用详解
2017/02/17 Javascript
JavaScript字符串_动力节点Java学院整理
2017/06/27 Javascript
vue实现简单loading进度条
2018/06/06 Javascript
vue3.0 CLI - 3.2 路由的初级使用教程
2018/09/20 Javascript
Python pickle类库介绍(对象序列化和反序列化)
2014/11/21 Python
python目录与文件名操作例子
2016/08/28 Python
Python网络编程 Python套接字编程
2017/09/13 Python
Linux CentOS7下安装python3 的方法
2018/01/21 Python
Python使用pandas和xlsxwriter读写xlsx文件的方法示例
2019/04/09 Python
numpy数组做图片拼接的实现(concatenate、vstack、hstack)
2019/11/08 Python
完美解决TensorFlow和Keras大数据量内存溢出的问题
2020/07/03 Python
纯CSS实现的大小渐变、渐远效果
2014/04/15 HTML / CSS
使用html5+css3来实现slider切换效果告别javascript+css
2013/01/08 HTML / CSS
ALDO英国官网:加拿大女鞋品牌
2018/02/19 全球购物
美国名牌手表折扣网站:Jomashop
2020/05/22 全球购物
庆祝教师节活动方案
2014/01/31 职场文书
网络管理员岗位职责
2014/03/17 职场文书
大学生党校培训心得体会
2014/09/11 职场文书
2015年技术员工作总结
2015/04/10 职场文书
投标单位介绍信
2015/05/05 职场文书
python 命令行传参方法总结
2021/05/25 Python
解析MySQL binlog
2021/06/11 MySQL