登录  /  注册

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

php中文网
发布: 2016-05-16 19:54:12
原创
1058人浏览过

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、移除:

刪除已安裝的package:
  pear uninstall packagename

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

这继续安装:

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

<&#63;
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.';
&#63;>

登录后复制

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

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

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号