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 相关文章推荐
图象函数中的中文显示
Oct 09 PHP
php mysql数据库操作分页类
Jun 04 PHP
PHP 循环列出目录内容的函数代码
May 26 PHP
解析PHP缓存函数的使用说明
May 10 PHP
PHP中HTML标签过滤技巧
Jan 07 PHP
PHP数组和explode函数示例总结
May 08 PHP
一个简单至极的PHP缓存类代码
Oct 23 PHP
php in_array() 检查数组中是否存在某个值详解
Nov 23 PHP
php中引用&amp;的用法分析【变量引用,函数引用,对象引用】
Dec 12 PHP
php实现简单的权限管理的示例代码
Aug 25 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
Sep 22 PHP
PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库
Apr 16 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
CodeIgniter启用缓存和清除缓存的方法
2014/06/12 PHP
PHP中获取文件创建日期、修改日期、访问时间的方法
2016/11/05 PHP
使用laravel根据用户类型来显示或隐藏字段
2019/10/17 PHP
javascript动画之圆形运动,环绕鼠标运动作小球
2010/07/20 Javascript
JS实现图片预加载无需等待
2012/12/21 Javascript
深入理解javaScript中的事件驱动
2013/05/21 Javascript
Extjs改变树节点的勾选状态点击按钮将复选框去掉
2013/11/14 Javascript
jquery删除指定的html标签并保留标签内文本内容的方法
2014/04/02 Javascript
JS如何实现文本框随文本的长度而增长
2015/07/30 Javascript
跟我学习javascript的垃圾回收机制与内存管理
2015/11/23 Javascript
JavaScript使用正则表达式获取全部分组内容的方法示例
2017/01/17 Javascript
jQuery实现遍历复选框的方法示例
2017/03/06 Javascript
node文字生成图片的示例代码
2017/10/26 Javascript
node结合swig渲染摸板的方法
2018/04/11 Javascript
vue中$refs的用法及作用详解
2018/04/24 Javascript
微信小程序上传图片实例
2018/05/28 Javascript
使用Webpack提升Vue.js应用程序的4种方法(翻译)
2019/10/09 Javascript
返回上一个url并刷新界面的js代码
2020/09/12 Javascript
JS数据类型分类及常用判断方法
2020/11/19 Javascript
介绍Python中的fabs()方法的使用
2015/05/14 Python
一键搞定python连接mysql驱动有关问题(windows版本)
2016/04/23 Python
使用Python生成XML的方法实例
2017/03/21 Python
Python字典创建 遍历 添加等实用基础操作技巧
2018/09/13 Python
python3 pathlib库Path类方法总结
2019/12/26 Python
Python如何读取、写入CSV数据
2020/07/28 Python
python 实现客户端与服务端的通信
2020/12/23 Python
CSS3解析抖音LOGO制作的方法步骤
2019/04/11 HTML / CSS
英国天然保健品网站:Simply Supplements
2017/03/22 全球购物
监察建议书范文
2014/03/12 职场文书
2015年国庆节活动总结
2015/03/23 职场文书
人事任命通知
2015/04/20 职场文书
英语通知范文
2015/04/22 职场文书
工程款申请报告
2015/05/15 职场文书
Python requests库参数提交的注意事项总结
2021/03/29 Python
总结几个非常实用的Python库
2021/06/26 Python
python实现局部图像放大
2021/11/17 Python