PHP使用PHPMailer发送邮件的简单使用方法


Posted in PHP onNovember 12, 2013

最近需要用到发送邮件的功能,原本是用PHP自带的mail()函数发送的。php mail()这个方法非常简单、方便、易用,但是除了网易邮箱、QQ邮箱、GMAIL邮箱等常用的邮箱可以收到之外,经测试HOTMAIL、TOM、LIVE等邮箱是收不到此类邮件的。所以就转而使用PHPMailer这个强大的邮件发送类。
使用官方自带的一些例子,有些会报 Mailer Error: Could not instantiate mail function. 这个错误。参考了一些资料之后,还是自己写了一个方法。代码很简单,就不多解释了。

function mailto($nickname, $address, $id, $activation_code)
{
 date_default_timezone_set('PRC'); 
 include_once("class.phpmailer.php"); $mail = new PHPMailer(); // defaults to using php "mail()"
 $mail->IsSMTP();
 $mail->Host = "smtp.163.com";   // SMTP 服务器  
 $mail->SMTPAuth = true;              // 打开SMTP 认证  
 $mail->Username = "nowamagic@163.com";  // 用户名
 $mail->Password = "yourpassword";          // 密码  
 //$body = file_get_contents('application/views/nmra/register.html');
 //$body = preg_replace('/\\\\/','', $body); //Strip backslashes
 $body = '<p><body style="margin: 10px;"></p>';
 $body .= '<div style="width: 640px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; ">';
 $body .= '<div align="center"><img src="images/phpmailer.gif" style="height: 90px; width: 340px"></div>';
 $body .= '<p>'.$nickname.',您好。</p>';
 $body .= '<p>恭喜你成为简明现代魔法研究协会的第'.$id.'名会员。</p>';
 $body .= '<p>现代魔法研究协会(NowaMagic Research Association)是一个程序猿、攻城狮、设计狮和开发者们技术交流、话题讨论的社区。希望在这里你能找到感兴趣的话题与志同道合的朋友。</p>';
 $body .= '请点击以下链接验证您的邮箱,请注意域名为nowamagic.net:<a href="http://www.nowamagic.net/librarys/accounts/activation/?code="'.$activation_code.'" target="_blank">http://www.nowamagic.net/librarys/accounts/activation/?code='.$activation_code.'</a>';
 $body .= '<p>顺祝工作学习愉快,生活舒心。</p>';
 $body .= '</div></body>';
 //echo $body;
 $mail->AddReplyTo("nowamagic@163.com","Gonn");
 $mail->SetFrom('nowamagic@163.com', 'Gonn');
 $mail->AddReplyTo("nowamagic@163.com","Gonn");
 $address = "252211974@qq.com";
 //$address = "nowamagic@gmail.com";
 $mail->AddAddress($address, $nickname);
 $subject = "收到来自简明现代魔法的邮件";
 $mail->Subject = "=?UTF-8?B?".base64_encode($subject)."?=";
 // optional, comment out and test
 $mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; 
 $mail->MsgHTML($body);
 //$mail->AddAttachment("images/phpmailer.gif");      // attachment
 //$mail->AddAttachment("images/phpmailer_mini.gif"); // attachment
 if(!$mail->Send()) {
  //echo "Mailer Error: " . $mail->ErrorInfo;
 } 
 else {
  //echo "Message sent!";
 }
}

使用的时候只要引入两个PHP类,然后自己写个方法就OK了,两个类很小,发送邮件速度也很快。
PHPMailer 是一个功能强大的邮件类,其主要功能特点:
支持邮件 s/mime加密的数字签名
支持邮件多个 TOs, CCs, BCCs and REPLY-TOs
可以工作在任何服务器平台,所以不用担心WIN平台无法发送邮件的问题的
支持文本/HTML格式邮件
可以嵌入image图像
对于邮件客户端不支持HTML阅读的进行支持
功能强大的发送邮件调试功能debug
自定义邮件header
冗余SMTP服务器支持
支持8bit, base64, binary, and quoted-printable 编码
文字自动换行
支持多附件发送功能
支持SMTP服务器验证功能
在Sendmail, qmail, Postfix, Gmail, Imail, Exchange 等平台测试成功
提供的下载文件中,包括内容详细的说明文档及示
PHP 相关文章推荐
PHP编程与应用
Oct 09 PHP
PHP 常用函数库和一些实用小技巧
Jan 01 PHP
PHP下编码转换函数mb_convert_encoding与iconv的使用说明
Dec 16 PHP
PHP Memcached + APC + 文件缓存封装实现代码
Mar 11 PHP
php截取utf-8中文字符串乱码的解决方法
Mar 29 PHP
PHP学习笔记之二
Jan 17 PHP
php addslashes 利用递归实现使用反斜线引用字符串
Aug 05 PHP
PHP轻量级数据库操作类Medoo增加、删除、修改、查询例子
Jul 04 PHP
php在apache环境下实现gzip配置方法
Apr 02 PHP
PHP内核探索之变量
Dec 22 PHP
PHP创建自己的Composer包方法
Apr 09 PHP
PHP array_reduce()函数的应用解析
Oct 28 PHP
PHP迭代器的内部执行过程详解
Nov 12 #PHP
PHP迭代器实现斐波纳契数列的函数
Nov 12 #PHP
PHP SPL使用方法和他的威力
Nov 12 #PHP
PHP使用SOAP调用.net的WebService数据
Nov 12 #PHP
php获取远程图片体积大小的实例
Nov 12 #PHP
php过滤XSS攻击的函数
Nov 12 #PHP
php获取新浪微博数据API实例
Nov 12 #PHP
You might like
三国漫画《火凤燎原》宣布动画化PV放出 预计2020年播出
2020/03/08 国漫
RSA实现JS前端加密与PHP后端解密功能示例
2019/08/05 PHP
javascript字典探测用户名工具
2006/10/05 Javascript
js 自定义个性下拉选择框示例
2013/08/20 Javascript
js判断ie版本号的简单实现代码
2014/03/05 Javascript
与Math.pow 相反的函数使用介绍
2014/08/04 Javascript
JQuery中上下文选择器实现方法
2015/05/18 Javascript
AngularJS框架的ng-app指令与自动加载实现方法分析
2017/01/04 Javascript
Extjs让combobox写起来简洁又漂亮
2017/01/05 Javascript
JavaScript之Map和Set_动力节点Java学院整理
2017/06/29 Javascript
Nodejs模块的调用操作实例分析
2018/12/25 NodeJs
详解vue中使用protobuf踩坑记
2019/05/07 Javascript
微信小程序自定义组件components(代码详解)
2019/10/21 Javascript
jQuery使用ajax传递json对象到服务端及contentType的用法示例
2020/03/12 jQuery
js HTML DOM EventListener功能与用法实例分析
2020/04/27 Javascript
如何构建 vue-ssr 项目的方法步骤
2020/08/04 Javascript
vue 动态添加的路由页面刷新时失效的原因及解决方案
2021/02/26 Vue.js
[02:01]BBC DOTA2国际邀请赛每日综述:八强胜者组鏖战,中国队喜忧参半
2014/07/19 DOTA
[19:59]2014DOTA2国际邀请赛 IG战队纪录片
2014/08/07 DOTA
python脚本实现统计日志文件中的ip访问次数代码分享
2014/08/06 Python
Python中random模块用法实例分析
2015/05/19 Python
基于进程内通讯的python聊天室实现方法
2015/06/28 Python
Python中操作符重载用法分析
2016/04/29 Python
Python批量合并有合并单元格的Excel文件详解
2018/04/05 Python
浅谈Python里面小数点精度的控制
2018/07/16 Python
Selenium定时刷新网页的实现代码
2018/10/31 Python
自定义实现 PyQt5 下拉复选框 ComboCheckBox的完整代码
2020/03/30 Python
解决Tensorflow2.0 tf.keras.Model.load_weights() 报错处理问题
2020/06/12 Python
html5 的a标签 Href 拨电话的写法
2013/11/04 HTML / CSS
Julep官网:美容产品和指甲油
2017/02/25 全球购物
倩碧香港官方网站:Clinique香港
2017/11/13 全球购物
线程问题:wait()方法是定义在哪个类里面
2015/07/07 面试题
春节联欢晚会主持词范文
2014/03/24 职场文书
学校周年庆活动方案
2014/08/22 职场文书
童年读书笔记
2015/06/26 职场文书
JavaScript流程控制(分支)
2021/12/06 Javascript