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 截取字符串函数整理(支持gb2312和utf-8)
Feb 16 PHP
PHP+SQL 注入攻击的技术实现以及预防办法
Jan 27 PHP
基于initPHP的框架介绍
Apr 18 PHP
php绘图中显示不出图片的原因及解决
Mar 05 PHP
对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析
Jul 04 PHP
PHP防止注入攻击实例分析
Nov 03 PHP
THINKPHP内容分页代码分享
Jan 14 PHP
以文件形式缓存php变量的方法
Jun 26 PHP
网页的分页下标生成代码(PHP后端方法)
Feb 03 PHP
Yii2 rbac权限控制操作步骤实例教程
Apr 29 PHP
PHP addcslashes()函数讲解
Feb 03 PHP
如何用RabbitMQ和Swoole实现一个异步任务系统
May 29 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
图片存储与浏览一例(Linux+Apache+PHP+MySQL)
2006/10/09 PHP
smarty基础之拼接字符串的详解
2013/06/18 PHP
PHP设计模式之适配器模式代码实例
2015/05/11 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
2017/09/20 PHP
jQuery autocomplate 自扩展插件、自动完成示例代码
2011/03/28 Javascript
实现web打印的各种方法介绍及实现代码
2013/01/09 Javascript
理解Javascript闭包
2013/11/01 Javascript
12行javascript代码绘制一个八卦图
2015/04/02 Javascript
使用AngularJS和PHP的Laravel实现单页评论的方法
2015/06/19 Javascript
js插件Jcrop自定义截取图片功能
2016/10/14 Javascript
NODE.JS跨域问题的完美解决方案
2016/10/20 Javascript
微信小程序中hidden不生效原因的解决办法
2017/04/26 Javascript
jQuery zTree树插件动态加载实例代码
2017/05/11 jQuery
JavaScript闭包_动力节点Java学院整理
2017/06/27 Javascript
鼠标拖动改变DIV等网页元素的大小的实现方法
2017/07/06 Javascript
解决vue2.0动态绑定图片src属性值初始化时报错的问题
2018/03/14 Javascript
详解微信小程序调起键盘性能优化
2018/07/24 Javascript
vue+element的表格实现批量删除功能示例代码
2018/08/17 Javascript
为react组件库添加typescript类型提示的方法
2020/06/15 Javascript
基于vue中的scoped坑点解说
2020/09/04 Javascript
JavaScript canvas实现跟随鼠标移动小球
2021/02/09 Javascript
详细讲解用Python发送SMTP邮件的教程
2015/04/29 Python
Python使用OpenCV进行标定
2018/05/08 Python
Python迷宫生成和迷宫破解算法实例
2019/12/24 Python
Python Scrapy多页数据爬取实现过程解析
2020/06/12 Python
Python内置函数property()如何使用
2020/09/01 Python
Python JSON常用编解码方法代码实例
2020/09/05 Python
YesBabyOnline美国:全球性的在线婚纱礼服工厂
2018/05/05 全球购物
英国马匹装备和马术用品购物网站:Equine Superstore
2019/03/03 全球购物
乡镇党的群众路线对照检查材料
2014/09/24 职场文书
临时用工协议书范本
2014/10/29 职场文书
放假通知范文
2015/04/14 职场文书
MySQL索引篇之千万级数据实战测试
2021/04/05 MySQL
python中sys模块的介绍与实例
2021/04/17 Python
MYSQL 的10大经典优化案例场景实战
2021/09/14 MySQL
人民币符号
2022/02/17 杂记