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 相关文章推荐
提高PHP编程效率的方法
Nov 07 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(六)
Jun 23 PHP
php强制运行广告的方法
Dec 01 PHP
WordPress主题中添加文章列表页页码导航的PHP代码实例
Dec 22 PHP
PHP会员找回密码功能的简单实现
Sep 05 PHP
PHP中STDCLASS用法实例分析
Nov 11 PHP
PHPExcel导出2003和2007的excel文档功能示例
Jan 04 PHP
php生成0~1随机小数的方法(必看)
Apr 05 PHP
PHP实现批量重命名某个文件夹下所有文件的方法
Sep 04 PHP
PHP面向对象五大原则之接口隔离原则(ISP)详解
Apr 04 PHP
PHP实现将base64编码字符串转换成图片示例
Jun 22 PHP
基于PHP实现用户在线状态检测
Nov 10 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
UTF8编码内的繁简转换的PHP类
2009/07/09 PHP
应用开发中涉及到的css和php笔记分享
2011/08/02 PHP
C/S和B/S两种架构区别与优缺点分析
2014/10/23 PHP
JQuery一种取同级值的方式(比如你在GridView中)
2012/03/15 Javascript
浅析showModalDialog数据缓存问题(用禁止浏览器缓存解决)
2013/07/09 Javascript
鼠标选择动态改变网页背景颜色的JS代码
2013/12/10 Javascript
js中创建对象的几种方式示例介绍
2014/01/26 Javascript
javascript 小数乘法结果错误的处理方法
2016/07/28 Javascript
ECMAScript6 新特性范例大全
2017/03/24 Javascript
Angular.js中下拉框实现渲染html的方法
2017/06/18 Javascript
element-ui表格合并span-method的实现方法
2019/05/21 Javascript
使用 Jest 和 Supertest 进行接口端点测试实例详解
2020/04/25 Javascript
three.js如何实现3D动态文字效果
2021/03/03 Javascript
python中getattr函数使用方法 getattr实现工厂模式
2014/01/20 Python
深入讨论Python函数的参数的默认值所引发的问题的原因
2015/03/30 Python
Python中用startswith()函数判断字符串开头的教程
2015/04/07 Python
使用XML库的方式,实现RPC通信的方法(推荐)
2017/06/14 Python
TensorFlow深度学习之卷积神经网络CNN
2018/03/09 Python
python如何修改装饰器中参数
2018/03/20 Python
python实现将多个文件分配到多个文件夹的方法
2019/01/07 Python
基于Python+Appium实现京东双十一自动领金币功能
2019/10/31 Python
Python3实现监控新型冠状病毒肺炎疫情的示例代码
2020/02/13 Python
Python基于os.environ从windows获取环境变量
2020/06/09 Python
python如何调用百度识图api
2020/09/29 Python
美国领先的奢侈手表在线零售商:WatchMaxx
2017/12/17 全球购物
英国珠宝网站Argento: PANDORA、Olivia Burton和Nomination等
2020/05/08 全球购物
电气工程及其自动化学生实习自我鉴定
2013/09/19 职场文书
高中毕业生自我鉴定例文
2013/12/29 职场文书
幼儿园的门卫岗位职责
2014/04/10 职场文书
学习十八大演讲稿
2014/09/15 职场文书
2015年保险公司工作总结
2015/04/24 职场文书
2015年汽车销售经理工作总结
2015/04/27 职场文书
能用CSS实现的就不要麻烦JavaScript了
2021/10/05 HTML / CSS
python对文档中元素删除,替换操作
2022/04/02 Python
SQL Server中使用表变量和临时表
2022/05/20 SQL Server
Win11 vmware不兼容怎么办?Win11与VMware虚拟机不兼容的解决方法
2023/01/09 数码科技