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 相关文章推荐
检查用户名是否已在mysql中存在的php写法
Jan 20 PHP
PHP获取MySql新增记录ID值的3种方法
Jun 24 PHP
两个php日期控制类实例
Dec 09 PHP
php使用pdo连接mssql server数据库实例
Dec 25 PHP
php绘制一条直线的方法
Jan 24 PHP
ThinkPHP模型详解
Jul 27 PHP
基于PHP实现假装商品限时抢购繁忙的效果
Oct 16 PHP
Yii2实现多域名跨域同步登录退出
Feb 04 PHP
PHP echo()函数讲解
Feb 15 PHP
PHP常见的几种攻击方式实例小结
Apr 29 PHP
php解压缩zip和rar压缩包文件的方法
Jul 10 PHP
PHP超级全局变量【$GLOBALS,$_SERVER,$_REQUEST等】用法实例分析
Dec 11 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
使用PHP数组实现无限分类,不使用数据库,不使用递归.
2006/12/09 PHP
实现PHP框架系列文章(6)mysql数据库方法
2016/03/04 PHP
php 使用curl模拟ip和来源进行访问的实现方法
2017/05/02 PHP
PHP实现的curl批量请求操作示例
2018/06/06 PHP
Add Formatted Data to a Spreadsheet
2007/06/12 Javascript
根据出生日期自动取得星座的js代码
2010/07/20 Javascript
javascript 学习笔记(onchange等)
2010/11/14 Javascript
jquery attr 设定src中含有&amp;(宏)符号问题的解决方法
2011/07/26 Javascript
JavaScript判断一个URL链接是否有效的实现方法
2011/10/08 Javascript
给ListBox添加双击事件示例代码
2013/12/02 Javascript
js网页右下角提示框实例
2014/10/14 Javascript
浅谈Javascript 数组与字典
2015/01/29 Javascript
jQuery实现冻结表格行和列
2015/04/29 Javascript
jQuery下拉菜单的实现代码
2016/11/03 Javascript
js 颜色选择插件
2017/01/23 Javascript
解决v-for中使用v-if或者v-bind:class失效的问题
2018/09/25 Javascript
JS中通过url动态获取图片大小的方法小结(两种方法)
2018/10/31 Javascript
微信小程序时间轴实现方法示例
2019/01/14 Javascript
layui 上传文件_批量导入数据UI的方法
2019/09/23 Javascript
js实现简易点击切换显示或隐藏
2020/11/29 Javascript
React服务端渲染原理解析与实践
2021/03/04 Javascript
[04:27]2014DOTA2国际邀请赛 NAVI战队官方纪录片
2014/07/21 DOTA
Python 从列表中取值和取索引的方法
2018/12/25 Python
Belle Maison倍美丛官网:日本千趣会旗下邮购网站
2016/07/22 全球购物
我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串?
2014/03/30 面试题
应届大专毕业生个人自荐信
2013/09/22 职场文书
年会搞笑主持词串词
2014/03/24 职场文书
会计学习心得体会
2014/09/09 职场文书
纪念九一八事变演讲稿:忘记意味着背叛
2014/09/14 职场文书
保研推荐信范文
2015/03/25 职场文书
工厂仓管员岗位职责
2015/04/01 职场文书
分享:关于学习的励志名言赏析
2019/08/16 职场文书
分析设计模式之模板方法Java实现
2021/06/23 Java/Android
Python内置包对JSON文件数据进行编码和解码
2022/04/12 Python
Mysql数据库事务的脏读幻读及不可重复读详解
2022/05/30 MySQL
windows10声卡驱动怎么安装?win10声卡驱动安装操作步骤教程
2022/08/05 数码科技