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+JS无限级可伸缩菜单详解(简单易懂)
Jan 02 PHP
php5数字型字符串加解密代码
Apr 24 PHP
PHP 配置文件中open_basedir选项作用
Jul 19 PHP
PHP 数据结构 算法 三元组 Triplet
Jul 02 PHP
php中文乱码怎么办如何让浏览器自动识别utf-8
Jan 15 PHP
PHP生成二维码的两个方法和实例
Jul 01 PHP
php读取文件内容的方法汇总
Jan 24 PHP
PHP内存使用情况如何获取
Oct 10 PHP
PHP类的自动加载机制实现方法分析
Jan 10 PHP
如何解决PHP获取不到SESSION信息之一般情况
Oct 10 PHP
Thinkphp集成抖音SDK的实现方法
Apr 28 PHP
PHP实现chrome表单请求数据转换为接口使用的json数据
Mar 04 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学习 字符串课件
2008/06/15 PHP
用Php编写注册后Email激活验证的实例代码
2013/03/11 PHP
php对关联数组循环遍历的实现方法
2015/03/13 PHP
PHP批斗大会之缺失的异常详解
2019/07/09 PHP
通过PHP实现用户注册后邮箱验证激活
2020/11/10 PHP
JavaScript 定义function的三种方式小结
2009/10/16 Javascript
浅析JavaScript中的同名标识符优先级
2013/12/06 Javascript
js中继承的几种用法总结(apply,call,prototype)
2013/12/26 Javascript
jQuery实现有动画淡出效果的二级折叠菜单代码
2015/10/17 Javascript
jQuery validate插件功能与用法详解
2016/12/15 Javascript
JS异步文件上传(兼容IE8+)
2017/04/02 Javascript
什么是Vue.js框架 为什么选择它?
2017/10/17 Javascript
基于Two.js实现星球环绕动画效果的示例
2017/11/06 Javascript
原生JavaScript实现todolist功能
2018/03/02 Javascript
vue.js轮播图组件使用方法详解
2018/07/03 Javascript
深入了解js原型模式
2019/05/30 Javascript
深入了解JavaScript 的 WebAssembly
2019/06/15 Javascript
vuex 动态注册方法 registerModule的实现
2019/07/03 Javascript
JS实现动态无缝轮播
2020/01/11 Javascript
vue.js+ElementUI实现进度条提示密码强度效果
2020/01/18 Javascript
Python完全新手教程
2007/02/08 Python
Python实现将DOC文档转换为PDF的方法
2015/07/25 Python
CentOS7.3编译安装Python3.6.2的方法
2018/01/22 Python
一条命令解决mac版本python IDLE不能输入中文问题
2018/05/15 Python
对numpy数据写入文件的方法讲解
2018/07/09 Python
解决PyCharm控制台输出乱码的问题
2019/01/16 Python
Django视图扩展类知识点详解
2019/10/25 Python
Python面向对象原理与基础语法详解
2020/01/02 Python
蔻驰西班牙官网:COACH西班牙
2019/01/16 全球购物
什么是会话Bean
2015/05/14 面试题
入党自荐书范文
2014/03/09 职场文书
党员大会主持词
2014/04/02 职场文书
和领导吃饭祝酒词
2015/08/11 职场文书
迎国庆主题班会
2015/08/17 职场文书
pycharm无法导入lxml的解决办法
2021/03/31 Python
MySQL 逻辑备份 into outfile
2022/05/15 MySQL