PHPMailer的主要功能特点和简单使用说明


Posted in PHP onFebruary 17, 2014

支持邮件 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 等平台测试成功
提供的下载文件中,包括内容详细的说明文档及示例说明,所以不用担心难于上手的问题!
PHPMailer 非常小巧、简单、方便、快捷

PHPMailer的使用(这里以使用gmail smtp发送邮件为例,当然也支持sendmail  pop 等其他方式):
首先到http://phpmailer.worxware.com/下载最新版本的程序包
下载完成后,找到class.phpmailer.php 、class.smtp.php两个类放到自己的目录下!
然后新建一个php文件这里命名为:phpmail.php
phpmail.php内容如下:
我直接将邮件发送模块写成一个函数postmail(),大家使用的时候直接调用该函数即可,函数内容为:

程序代码

function postmail($to,$subject = "",$body = ""){
    //$to 表示收件人地址 $subject 表示邮件标题 $body表示邮件正文
    //error_reporting(E_ALL);
    error_reporting(E_STRICT);
    date_default_timezone_set("Asia/Shanghai");//设定时区东八区
    require_once('class.phpmailer.php');
    include("class.smtp.php"); 
    $mail             = new PHPMailer(); //new一个PHPMailer对象出来
    $body             = eregi_replace("[\]",'',$body); //对邮件内容进行必要的过滤
    $mail->CharSet ="UTF-8";//设定邮件编码,默认ISO-8859-1,如果发中文此项必须设置,否则乱码
    $mail->IsSMTP(); // 设定使用SMTP服务
    $mail->SMTPDebug  = 1;                     // 启用SMTP调试功能
                                           // 1 = errors and messages
                                           // 2 = messages only
    $mail->SMTPAuth   = true;                  // 启用 SMTP 验证功能
    $mail->SMTPSecure = "ssl";                 // 安全协议
    $mail->Host       = "smtp.googlemail.com";      // SMTP 服务器
    $mail->Port       = 465;                   // SMTP服务器的端口号
    $mail->Username   = "SMTP服务器用户名";  // SMTP服务器用户名
    $mail->Password   = "SMTP服务器密码";            // SMTP服务器密码
    $mail->SetFrom('发件人地址,如admin@domain.com', '发件人名称');
    $mail->AddReplyTo("邮件回复地址,如admin@domain.com","邮件回复人的名称");
    $mail->Subject    = $subject;
    $mail->AltBody    = "To view the message, please use an HTML compatible email viewer! "; // optional, comment out and test
    $mail->MsgHTML($body);
    $address = $to;
    $mail->AddAddress($address, "收件人名称");
    //$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 相关文章推荐
vBulletin Forum 2.3.xx SQL Injection
Oct 09 PHP
Windows 下的 PHP-PEAR 安装方法
Nov 20 PHP
php学习笔记 [预定义数组(超全局数组)]
Jun 09 PHP
php中如何判断一个网页请求是ajax请求还是普通请求
Aug 10 PHP
PHP用strstr()函数阻止垃圾评论(通过判断a标记)
Sep 28 PHP
php 字符串中的\n换行符无效、不能换行的解决方法
Apr 02 PHP
取得单条网站评论以数组形式进行输出
Jul 28 PHP
在Nginx上部署ThinkPHP项目教程
Feb 02 PHP
PHP中的命名空间详细介绍
Jul 02 PHP
PHP实现linux命令tail -f
Feb 22 PHP
Laravel5中防止XSS跨站攻击的方法
Oct 10 PHP
php与阿里云短信接口接入操作案例分析
May 27 PHP
PHP创建桌面快捷方式的实例代码
Feb 17 #PHP
PHP json_decode函数详细解析
Feb 17 #PHP
php实现aes加密类分享
Feb 16 #PHP
实现获取http内容的php函数分享
Feb 16 #PHP
php输出1000以内质数(素数)示例
Feb 16 #PHP
回帖脱衣服的图片实现代码
Feb 15 #PHP
php随机显示图片的简单示例
Feb 15 #PHP
You might like
php自定义函数call_user_func和call_user_func_array详解
2011/07/14 PHP
php中存储用户ID和密码到mysql数据库的方法
2013/02/06 PHP
小议Function.apply() 之一------(函数的劫持与对象的复制)
2006/11/30 Javascript
IE6 弹出Iframe层中的文本框“经常”无法获得输入焦点
2009/12/27 Javascript
js关闭浏览器窗口及检查浏览器关闭事件
2013/09/03 Javascript
jquery 获取 outerHtml 包含当前节点本身的代码
2014/10/30 Javascript
Javascript基础教程之数组 array
2015/01/18 Javascript
jquery实现多次上传同一张图片
2017/01/09 Javascript
jQuery实现的背景颜色渐变动画效果示例
2017/03/24 jQuery
vue2.0父子组件间通信的实现方法
2017/04/19 Javascript
jQuery手风琴的简单制作
2017/05/12 jQuery
React Native 环境搭建的教程
2017/08/19 Javascript
[js高手之路]从原型链开始图解继承到组合继承的产生详解
2017/08/28 Javascript
node使用Koa2搭建web项目的方法
2017/10/17 Javascript
JS基于设计模式中的单例模式(Singleton)实现封装对数据增删改查功能
2018/02/06 Javascript
javascript for循环性能测试示例
2019/08/07 Javascript
JS实现表单中点击小眼睛显示隐藏密码框中的密码
2020/04/13 Javascript
nestjs中异常过滤器Exceptionfilter的具体使用
2021/02/07 Javascript
[02:11]DOTA2上海特级锦标赛主赛事第二日RECAP
2016/03/04 DOTA
[01:07:21]NAVI vs VG Supermajor 败者组 BO3 第二场 6.5
2018/06/06 DOTA
python pickle 和 shelve模块的用法
2013/09/16 Python
把项目从Python2.x移植到Python3.x的经验总结
2015/04/20 Python
对于Python的框架中一些会话程序的管理
2015/04/20 Python
深入解析Python中的变量和赋值运算符
2015/10/12 Python
PyQt5 QTable插入图片并动态更新的实例
2019/06/18 Python
Python Numpy计算各类距离的方法
2019/07/05 Python
Pycharm使用远程linux服务器conda/python环境在本地运行的方法(图解))
2019/12/09 Python
python正则表达式匹配IP代码实例
2019/12/28 Python
Python接口自动化判断元素原理解析
2020/02/24 Python
pycharm sciview的图片另存为操作
2020/06/01 Python
用pandas划分数据集实现训练集和测试集
2020/07/20 Python
椰子猫砂:CatSpot
2018/08/27 全球购物
构造方法和其他方法的区别?怎么调用父类的构造方法
2013/09/22 面试题
在网络中有两台主机A和B,并通过路由器和其他交换设备连接起来,已经确认物理连接正确无误,怎么来测试这两台机器是否连通?如果不通,怎么来判断故障点?怎么排
2014/01/13 面试题
比较一下entity bean和session bean
2013/12/27 面试题
中国央视网签名寄语
2014/01/18 职场文书