PHP使用pear实现mail发送功能 windows环境下配置pear


Posted in PHP onApril 15, 2016

PHP发邮件可以用其自带mail()函数,但是这个函数很不好使,需要配置邮件服务器,并且不支持smtp验证,在很多场合无法正常的工作. 找了个代码发邮件,但总是出错,我在这里用PEAR的Mail类,使用smtp发邮件.

首先安装,我推陈用最新版的PHP5,因为我用PHP4出现了很多问题,大多是因为那些封装好的类版本太高,与PHP4不兼容的原故吧.
安装方法:
1.在php目录中双击go-pear.bat。
2.按照提示输入一些设置信息,主要是问直接访问外网,还是用代理,若无代理服务器则直接回车,我是直接按回车.
3.然后会提示一些包和PHP绑定,选择Y 。
4.然后安装基本包和提示安装成功,就这么简单。
5.打开windows目录下的php.ini文件,然后查找到如下的地方:
; UNIX: "/path1:/path2"
;include_path = ".:/php/includes"
;
; Windows: "\path1;\path2"
;include_path = ".;c:\php\includes"

把最后一行的注释去掉,然后把后面路径改成你的PEAR路径,例如:
include_path = ".;c:\php\pear\"
保存PHP.INI,然后重新启动APACHE即可。

现在PEAR已经安好了,我们要用到的类放在php目录下的pear文件夹下,但是现在没有多少可用的类,我们要去网上下载并安装.

在你的PHP根目录中可以找到PEAR.bat文件(执行上边的安装才会有这个东西),这是管理pear的命令,在CMD中使用,要设置环境变量PATH,或双击生成的EV_XXX.REG文件。它的部分命令功能如下:
1、安?:

从网络安装一个pear类库:

pear install packagename

下载 packages 但不安?:

pear download packagename

pear download-all

安?已下载的package:

pear install filename.tgz

2、列表:

目前pear网站上所有可取得pear类库列表:

pear remote-list

列出已安?package:

pear list

列出可以升?的package:

pear list-upgrades

3、更新(升?):

更新package:

pear upgrade packagename

pear upgrade-all

4、移除:

?h除已安?的package:

pear uninstall packagename

我们从cmd进入PHP目录,执行pear install mail
如果安装过程提示某些库没有安装,则继续安装这些库如图:

PHP使用pear实现mail发送功能 windows环境下配置pear

这继续安装:

PHP使用pear实现mail发送功能 windows环境下配置pear

出来一些信息,会提示安装成功,这时pear目录下多出来一个mail目录,同时有一个mail.php,这是我们一会要引用的文件.
下边是我们用来发邮件的代码:

<?
require_once 'Mail.php';
flush();

$conf['mail'] = array(
    'host'   => 'mail.nenu.edu.cn',  //smtp服务器地址,可以用ip地址或者域名
    'auth'   => true,         //true表示smtp服务器需要验证,false代码不需要
    'username' => 'guanhf844',      //用户名 
    'password' => '你的密码'        //密码
);


$headers['From']  = 'guanhf844@nenu.edu.cn';       //发信地址
$headers['To']   = 'chf007server@163.com';       //收信地址
$headers['Subject'] = 'test mail send by php';     //邮件标题
$mail_object = &Mail::factory('smtp', $conf['mail']);  

$body = '<<< MSG                    
hello world!!!
MSG';
//邮件正文
$mail_res = $mail_object->send($headers['To'], $headers, $body);    //发送

if( PEAR::isError($mail_res) ){             //检测错误
  die($mail_res->getMessage());
}
echo 'Send finished.';
?>

经测试发送成功,速度挺快的,别的邮箱没有测试。

以上就是PHP使用pear实现mail发送功能的全部代码,希望对大家的学习有所帮助。

PHP 相关文章推荐
vBulletin HACK----显示话题大小和打开新窗口于论坛索引页
Oct 09 PHP
解决163/sohu/sina不能够收到PHP MAIL函数发出邮件的问题
Mar 13 PHP
php flv视频时间获取函数
Jun 29 PHP
一个PHP分页类的代码
May 18 PHP
dhtmlxTree目录树增加右键菜单以及拖拽排序的实现方法
Apr 26 PHP
二进制交叉权限微型php类分享
Feb 07 PHP
PHP实现取得HTTP请求的原文
Aug 18 PHP
php获取twitter最新消息的方法
Apr 14 PHP
PHP中is_dir()函数使用指南
May 08 PHP
人脸识别测颜值、测脸龄、测相似度微信接口
Apr 07 PHP
PHP实现对二维数组某个键排序的方法
Sep 14 PHP
php微信开发之关注事件
Jun 14 PHP
php生成图片验证码的方法
Apr 15 #PHP
PHP抓取淘宝商品的用户晒单评论+图片+搜索商品列表实例
Apr 14 #PHP
php上传大文件设置方法
Apr 14 #PHP
什么是OneThink oneThink后台添加插件步骤
Apr 13 #PHP
java模拟PHP的pack和unpack类
Apr 13 #PHP
php远程下载类分享
Apr 13 #PHP
Thinkphp和onethink实现微信支付插件
Apr 13 #PHP
You might like
BBS(php &amp; mysql)完整版(四)
2006/10/09 PHP
php读取数据库信息的几种方法
2008/05/24 PHP
用php实现的获取网页中的图片并保存到本地的代码
2010/01/05 PHP
php中count获取多维数组长度的方法
2014/11/03 PHP
PHP操作Postgresql封装类与应用完整实例
2018/04/24 PHP
用javascript实现分割提取页面所需内容
2007/05/09 Javascript
js的with语句使用方法
2007/09/21 Javascript
扩展javascript的Date方法实现代码(prototype)
2010/11/20 Javascript
JavaScript的常见兼容问题及相关解决方法(chrome/IE/firefox)
2013/12/31 Javascript
Javascript排序算法之合并排序(归并排序)的2个例子
2014/04/04 Javascript
使用node+vue.js实现SPA应用
2016/01/28 Javascript
AngularJs 60分钟入门基础教程
2016/04/03 Javascript
JS判断日期格式是否合法的简单实例
2016/07/11 Javascript
图文详解Javascript中的上下文和作用域
2017/02/15 Javascript
footer定位页面底部(代码分享)
2017/03/07 Javascript
H5实现仿flash效果的实现代码
2017/09/29 Javascript
在 Node.js 中使用 async 函数的方法
2017/11/17 Javascript
vuex state及mapState的基础用法详解
2018/04/19 Javascript
学习Vue组件实例
2018/04/28 Javascript
Javascript中parseInt的正确使用方式
2018/10/17 Javascript
深入浅析Vue中mixin和extend的区别和使用场景
2019/08/01 Javascript
分享Angular http interceptors 拦截器使用(推荐)
2019/11/10 Javascript
JS+HTML实现自定义上传图片按钮并显示图片功能的方法分析
2020/02/12 Javascript
JavaScript计算出两个数的差值
2020/03/19 Javascript
vue中提示$index is not defined错误的解决方式
2020/09/02 Javascript
[52:05]EG vs OG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
Python实现的简单hangman游戏实例
2015/06/28 Python
python使用clear方法清除字典内全部数据实例
2015/07/11 Python
keras和tensorflow使用fit_generator 批次训练操作
2020/07/03 Python
使用Python快速打开一个百万行级别的超大Excel文件的方法
2021/03/02 Python
Myprotein俄罗斯官网:欧洲第一运动营养品牌
2019/05/05 全球购物
会计助理的岗位职责
2013/11/29 职场文书
会议接待欢迎词范文
2015/01/26 职场文书
2015暑期社会实践个人总结
2015/07/13 职场文书
读完《骆驼祥子》的观后感!
2019/07/05 职场文书
如何用 Python 子进程关闭 Excel 自动化中的弹窗
2021/05/07 Python