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的FTP学习(一)[转自奥索]
Oct 09 PHP
如何在PHP中使用Oracle数据库(4)
Oct 09 PHP
第六节--访问属性和方法
Nov 16 PHP
PHP 循环列出目录内容的函数代码
May 26 PHP
php将mysql数据库整库导出生成sql文件的具体实现
Jan 08 PHP
php实现的Timer页面运行时间监测类
Sep 24 PHP
php在数据库抽象层简单使用PDO的方法
Nov 03 PHP
PHP简单实现文本计数器的方法
Apr 28 PHP
php生成复杂验证码(倾斜,正弦干扰线,黏贴,旋转)
Mar 12 PHP
PHP使用PDO操作sqlite数据库应用案例
Mar 07 PHP
php使用curl伪造浏览器访问操作示例
Sep 30 PHP
Laravel 验证码认证学习记录小结
Dec 20 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
php xfocus防注入资料
2008/04/27 PHP
PHP操作数组相关函数
2011/02/03 PHP
基于PHP常用字符串的总结(待续)
2013/06/07 PHP
浅析PHP绘图技术
2013/07/03 PHP
php加密算法之实现可逆加密算法和解密分享
2014/01/21 PHP
PHP获取网页标题的3种实现方法代码实例
2014/04/11 PHP
让ThinkPHP支持大小写url地址访问的方法
2014/10/31 PHP
js DataSet数据源处理代码
2010/03/29 Javascript
40个新鲜出炉的jQuery 插件和免费教程[上]
2012/07/24 Javascript
JQuery实现简单验证码提示解决方案
2012/12/20 Javascript
使用jQuery时Form表单元素ID和name命名大忌
2014/03/06 Javascript
JavaScript从数组中删除指定值元素的方法
2015/03/18 Javascript
jQuery解析json格式数据简单实例
2016/01/22 Javascript
jQuery实现可以控制图片旋转角度效果(附demo源码下载)
2016/01/27 Javascript
深入浅析Extjs中store分组功能的使用方法
2016/04/20 Javascript
JS遍历数组和对象的区别及递归遍历对象、数组、属性的方法详解
2016/06/14 Javascript
微信小程序 网络API Websocket详解
2016/11/09 Javascript
jQuery实现获取隐藏div高度的方法示例
2017/02/09 Javascript
详解webpack2+React 实例demo
2017/09/11 Javascript
细说webpack源码之compile流程-rules参数处理技巧(2)
2017/12/26 Javascript
JavaScript事件对象event用法分析
2018/07/27 Javascript
Vue实现点击当前元素以外的地方隐藏当前元素(实现思路)
2019/12/04 Javascript
es6 super关键字的理解与应用实例分析
2020/02/15 Javascript
原生js实现自定义滚动条
2021/01/20 Javascript
Python yield 小结和实例
2014/04/25 Python
在Python的Flask框架中使用模版的入门教程
2015/04/20 Python
python traceback捕获并打印异常的方法
2018/08/31 Python
python用pandas数据加载、存储与文件格式的实例
2018/12/07 Python
python 一篇文章搞懂装饰器所有用法(建议收藏)
2019/08/23 Python
HTML页面中添加Canvas标签示例
2015/01/01 HTML / CSS
大学生村官心得体会范文
2014/01/04 职场文书
关于读书的演讲稿
2014/05/07 职场文书
关爱残疾人演讲稿
2014/05/24 职场文书
道路施工安全责任书
2014/07/24 职场文书
党员干部民主生活会议批评与自我批评材料
2014/09/20 职场文书
nginx 防盗链防爬虫配置详解
2021/03/31 Servers