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 相关文章推荐
输出控制类
Oct 09 PHP
如何写php程序?
Dec 08 PHP
PHP 命令行工具 shell_exec, exec, passthru, system详细使用介绍
Sep 11 PHP
PHP将整个网站生成HTML纯静态网页的方法总结
Feb 05 PHP
php定时删除文件夹下文件(清理缓存文件)
Jan 23 PHP
WAMP环境中扩展oracle函数库(oci)
Jun 26 PHP
Zend Framework教程之Autoloading用法详解
Mar 08 PHP
php发送http请求的常用方法分析
Nov 08 PHP
PHP 二维关联数组根据其中一个字段排序(推荐)
Apr 04 PHP
PHP swoole和redis异步任务实现方法分析
Aug 12 PHP
TP5框架model常见操作示例小结【增删改查、聚合、时间戳、软删除等】
Apr 05 PHP
详解PHP Swoole与TCP三次握手
May 27 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中addslashes()和stripslashes()实现字符串转义和还原用法实例
2016/01/07 PHP
Laravel中正确地返回HTTP状态码方法示例
2019/09/10 PHP
懒就要懒到底——鼠标自动点击(含时间判断)
2007/02/20 Javascript
JavaScript基本概念初级讲解论坛贴的学习记录
2009/02/22 Javascript
Javascript 兼容firefox的一些问题
2009/05/21 Javascript
jQuery 使用手册(四)
2009/09/23 Javascript
JavaScript 滚轮事件使用说明
2010/03/07 Javascript
javascript高级程序设计第二版第十二章事件要点总结(常用的跨浏览器检测方法)
2012/08/22 Javascript
浅谈JavaScript函数节流
2014/12/09 Javascript
Winform客户端向web地址传参接收参数的方法
2016/05/17 Javascript
原生js的数组除重复简单实例
2016/05/24 Javascript
Vue.js路由vue-router使用方法详解
2017/03/20 Javascript
javascript中的面向对象
2017/03/30 Javascript
基于JavaScript实现的快速排序算法分析
2017/04/14 Javascript
JS实现动态添加DOM节点和事件的方法示例
2017/04/28 Javascript
深入探究AngularJs之$scope对象(作用域)
2017/07/20 Javascript
AngularJS 仿微信图片手势缩放的实例
2017/09/28 Javascript
vue 本地服务不能被外部IP访问的完美解决方法
2018/10/29 Javascript
解决使用layui对select append元素无效或者未及时更新的问题
2019/09/18 Javascript
CountUp.js数字滚动插件使用方法详解
2019/10/17 Javascript
ant design中upload组件上传大文件,显示进度条进度的实例
2020/10/29 Javascript
vue 授权获取微信openId操作
2020/11/13 Javascript
Python常用列表数据结构小结
2014/08/06 Python
用Python代码来绘制彭罗斯点阵的教程
2015/04/03 Python
用Python实现协同过滤的教程
2015/04/08 Python
Python下的subprocess模块的入门指引
2015/04/16 Python
在Python的Django框架中使用通用视图的方法
2015/07/21 Python
JPype实现在python中调用JAVA的实例
2017/07/19 Python
python 协程 gevent原理与用法分析
2019/11/22 Python
tf.concat中axis的含义与使用详解
2020/02/07 Python
Python urllib3软件包的使用说明
2020/11/18 Python
欧洲顶级体育电子商务网站:SportsShoes.com
2018/03/27 全球购物
幼儿园小班见习报告
2014/10/31 职场文书
小学毕业教师寄语
2019/06/21 职场文书
适合毕业生创业的项目怎么找?
2019/08/08 职场文书
苹果的回收机器人可以通过拆解iPhone获取大量的金和铜并外公布了环境保护最新进展
2022/04/21 数码科技