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 setcookie() cannot modify header information 的解决方法
Jan 09 PHP
谈PHP生成静态页面分析 模板+缓存+写文件
Aug 17 PHP
zf框架的校验器使用使用示例(自定义校验器和校验器链)
Mar 13 PHP
四个PHP非常实用的功能
Sep 29 PHP
PHP5.2中PDO的简单使用方法
Mar 25 PHP
注释PHP和html混合代码的小技巧(分享)
Nov 03 PHP
Yii2 加载css、js 载静态资源的方法
Mar 10 PHP
PHP完全二叉树定义与实现方法示例
Oct 09 PHP
PHP中PDO事务处理操作示例
May 02 PHP
laravel清除视图缓存的代码
Oct 23 PHP
如何判断微信付款码和支付宝付款码
Apr 01 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 抓取网页图片并且另存为的实现代码
2010/03/24 PHP
php抓取网站图片并保存的实现方法
2015/10/29 PHP
PHP封装的简单连接MongoDB类示例
2019/02/13 PHP
PHP正则表达式笔记与实例详解
2019/05/09 PHP
推荐:极酷右键菜单
2006/11/29 Javascript
用javascript动态调整iframe高度的代码
2007/04/10 Javascript
JavaScript 设计模式 富有表现力的Javascript(一)
2010/05/26 Javascript
JS函数验证总结(方便js客户端输入验证)
2010/10/29 Javascript
你必须知道的Javascript知识点之&quot;深入理解作用域链&quot;的介绍
2013/04/23 Javascript
JavaScript 异常处理 详解
2015/02/06 Javascript
jQuery如何防止这种冒泡事件发生
2015/02/27 Javascript
Jquery实现动态切换图片的方法
2015/05/18 Javascript
JS实现的新浪微博大厅文字内容滚动效果代码
2015/11/05 Javascript
全面解析Bootstrap表单使用方法(表单样式)
2015/11/24 Javascript
URL的参数中有加号传值变为空格的问题(URL特殊字符)
2016/11/04 Javascript
原生和jQuery的ajax用法详解
2017/01/23 Javascript
NUXT SSR初级入门笔记(小结)
2019/12/16 Javascript
[01:05:12]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS CIS-GAME
2014/05/21 DOTA
在Python程序中进行文件读取和写入操作的教程
2015/04/28 Python
Python批量按比例缩小图片脚本分享
2015/05/21 Python
python Spyder界面无法打开的解决方法
2018/04/27 Python
Python3使用PySynth制作音乐的方法
2019/09/09 Python
python计算导数并绘图的实例
2020/02/29 Python
Python 如何测试文件是否存在
2020/07/31 Python
css3使用animation属性实现炫酷效果(推荐)
2020/02/04 HTML / CSS
浅析border-radius如何兼容IE
2016/04/19 HTML / CSS
科颜氏美国官网:Kiehl’s美国
2017/01/31 全球购物
荷兰鞋类购物网站:Donelli
2019/05/24 全球购物
巡警年度自我鉴定
2014/02/21 职场文书
派出所正风肃纪剖析材料
2014/10/10 职场文书
领导工作表现评语
2015/01/04 职场文书
2015年医院科室工作总结范文
2015/05/26 职场文书
职场领导同事生日简短祝福语
2019/08/06 职场文书
matlab xlabel位置的设置方式
2021/05/21 Python
从零开始在Centos7上部署SpringBoot项目
2022/04/07 Servers
微信小程序纯CSS实现无限弹幕滚动效果
2022/09/23 HTML / CSS