PHP使用Pear发送邮件(Windows环境)_php技巧

本文实例介绍了PHP使用Pear发送邮件的方法,以及如何在Windows下安装PHP Pear的步骤,分享给大家供大家参考,具体内容如下

一、PEAR安装
1、PEAR简介
PEAR是PHP扩展与应用库(the PHP Extension and Application Repository)的缩写。它是一个PHP扩展及应用的一个代码仓库,简单地说,PEAR之于PHP就像是CPAN(Comprehensive Perl Archive Network)之于Perl。
PEAR的基本目标是发展成为PHP扩展和库代码的知识库,而这个项目最有雄心的目标则是试图定义一种标准,这种标准将帮助开发者编写可移植、可重用的代码。
在WAMP集成环境中安装PEAR
1)、首先下载一个go-pear.phar文件。
2)、进入到php的运行目录安装
我这里使用了一个wamp的集成开发环境,版本是wampserver2.2e-php5.4.3-httpd2.2.22-mysql5.5.24-32b,我本地的安装路径是C:\wamp\bin\php\php5.4.3>
执行如下的命令:
php.exe -d phar.require_hash=0 go-pear.phar

到这一步可以修改PEAR安装的$prefix路径,我选择了默认,一路回车进行安装。
3)、修改include_path选项
最后PEAR默认扩展包安装后,提示是否需要配置php.ini文件中的include_path选项指向pear的安装目录

当然需要配置,否则无法使用,Y并回车,安装包会自动修改include_path选项。提示我们环境变量没有设置,所以下面我们还需要设置一下系统的环境变量。
新建一个环境变量名,如下图

然后在PATH变量中加入%php_home%就完成啦~。
2、PEAR常用命令
在命令行方式下,运用PEAR的相关命令可以安装自己需要的PEAR安装包。

  • pear help  列出pear的所有命令,类似于pear的命令帮助命令。
  • pear help <command>  列出某个pear命令的具体信息
  • pear help shortcuts  列出所有pear命令的简写

二、安装Mail,Mail_Mine,Net_SMTP

  • 第一步:在cmd中进入到PHP的运行目录,也就是php.exe。
  • 第二步:使用pear install Mail,pear install Mail_Mine,pear install Net_SMTP安装好发邮件需要的类库
  • 第三步:使用pear list查看以上三个类库是否安装。

三、实例

<?php
    error_reporting(0); //PHP会出现不规范提示,故此设置
    require_once "Mail.php"; //记得将Pear目录加入环境,才能这样引用,否则要引用绝对路径 

    $from = "sender@outlook.com";  //发送方
    $to = "receiver@qq.com";  //接收方
    $subject = "Hi!";  //主题
    $body = "Hi,\n\nHow are you?"; //内容 

    $host = "smtp.live.com";  //SMTP服务器
    $port = "587"; //端口
//   $port = "25";  //两个端口都行
    $username = "username@outlook.com";//用户名
    $password = "password";//密码 

    $headers = array ('From' => $from,
     'To' => $to,
     'Subject' => $subject);  //邮件头
    $smtp = Mail::factory('smtp',
     array ('host' => $host,
      'port' => $port,
      'auth' => true,
      'username' => $username,
      'password' => $password)); //服务设置 

    //发送邮件
    $mail = $smtp->send($to, $headers, $body); 

    //错误处理
    if (PEAR::isError($mail))
    {
      echo("<p>". $mail->getMessage() ."</p>");
    }
    else
    {
      echo("<p>Message successfully sent!</p>");
    } 

?>

四、php利用pear:Net_SMTP类发送邮件的方法
在使用以下源代码前,请配置好pear的路径,并下载net_smtp包。
在php.ini文件中根据你的操作系统选择不同的设置方法:
; UNIX: "/path1:/path2"
include_path = ".:./php/pear"
;
; Windows: "\path1;\path2"
;include_path = ".;c:\php\pear"
代码:

<?php
require 'Net/SMTP.php';

$host = '126.com';//smtp服务器的ip或域名
$username= 'arcow';//登陆smtp服务器的用户名
$password= 'secret';//登陆smtp服务器的密码
$from = 'arcow@126.com'; //谁发的邮件
$rcpt = array('test@test.com', 'arcow@126.com');//可设多个接收者
$subj = "Subject: 你是谁\n";//主题
$body = "test it";//邮件内容

/* 建立一个类 */
if (! ($smtp = new Net_SMTP($host))) {
die("无法初始化类Net_SMTP!\n");
}

/* 开始连接SMTP服务器*/
if (PEAR::isError($e = $smtp->connect())) {
die($e->getMessage() . "\n");
}

/* smtp需要身份验证 */
$smtp->auth($username,$password,"PLAIN");

/*设置发送者邮箱 */
if (PEAR::isError($smtp->mailFrom($from))) {
die("无法设置发送者邮箱为 <$from>\n");
}

/* 设置接收邮件者 */
foreach ($rcpt as $to) {
if (PEAR::isError($res = $smtp->rcptTo($to))) {
die("邮件无法投递到 <$to>: " . $res->getMessage() . "\n");
}
}

/* 开始发送邮件内容 */
if (PEAR::isError($smtp->data($subj . "\r\n" . $body))) {
die("Unable to send data\n");
}

/* 断开连接 */
$smtp->disconnect();
echo "发送成功!";
?>

以上就是PHP使用Pear发送邮件的方法,希望本文所述对大家学习php程序设计有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php
, 邮件
pear
pear mail 发送邮件、邮件发送技巧、windows自动发送邮件、windows 发送邮件脚本、windows 发送邮件,以便于您获取更多的相关知识。

时间: 2024-08-03 07:49:57

PHP使用Pear发送邮件(Windows环境)_php技巧的相关文章

windows平台中配置nginx+php环境_php技巧

刚看到nginx这个词,我很好奇它的读法(engine x),我的直译是"引擎x",一般引"擎代"表了性能,而"x"大多出现是表示"xtras(额外的效果)",那么整个词的意思就是类似"极致效果","额外性能".当然这里不是要来唠嗑,以上是题外话. nginx相较于我们熟悉的apache,IIS的优势,就我浅入浅出的了解,在于"反向代理"和"负载均衡&quo

在Windows XP下安装Apache+MySQL+PHP环境_php技巧

在整个wamp环境搭建中,本质的工作如下: 1,配置系统对php中dll文件能默认处于调用状态. 在windos下,对dll文件系统默认处于调用状态的,有两种采用的方式. 第一种是:把需要调用dll文件复制到C:\windows\ system32\(如果是Windows 2000操作系统,则为C:\WINNT\ system32\)目录下. 第二种是:把.dll后缀文件所在的文件夹的地址,追加到系统的path变量中去,这样的话,系统启动的时候,也会默认把dll文件自动载入内存中. 第三种是:把

怎么在Windows系统中搭建php环境_php技巧

PHP介绍:PHP 独特的语法混合了C.Java.Perl以及PHP自创的语法.它可以比CGI或者Perl更快速地执行动态网页.用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多:PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快. PHP环境的搭建:php环境的搭建可以采用使用集成软件(即集成了php.apache.mysql)搭建的方式,也可以自己分别下载:php.apache.mysq

PHP pear安装配置教程_php技巧

什么是PEAR? PEAR是PHP扩展与应用库(the PHP Extension and Application Repository)的缩写.它是一个PHP扩展及应用的一个代码仓库,简单地说,PEAR之于PHP就像是CPAN(Comprehensive Perl Archive Network)之于Perl. 由此可见PEAR是PHP代码的仓库,在这里可以找到很多有用的代码,避免我们重复写一些功能,但是PEAR代码包并不是直接通过HTTP网站下载的,我们需要安装PEAR. 如何获取并安装PE

简单介绍win7下搭建apache+php+mysql开发环境_php技巧

环境目录:E:\dev​ 一.Apache 下载地址:http://www.apachelounge.com/download/​ 我们下载VC11运行库的 1.安装说明: 运行apache安装程序,方法非常简单,弹安装界面后一直"next" 接着会出现一个界面,需要填写3个内容,分别为:Network Domain.Server Name.Administrator's Email Address 随便填写就好,不影响内容. 在下面还有2个选项,默认选择为80端口,第二个为8080端

php mailer类调用远程SMTP服务器发送邮件实现方法_php技巧

本文实例讲述了php mailer类调用远程SMTP服务器发送邮件实现方法.分享给大家供大家参考,具体如下: php mailer 是一款很好用的php电子邮件发送类模块,可以调用本地的smtp发送电子邮件,也可以调用远程的smtp发送电子邮件,但是使用时需要注意一些事项,否则就会造成发送失败,或者根本不能调用的情况,本文就我在使用这个类时,遇到的问题和解决办法进行展开,简要说明一下php mailer的用法,及注意事项. 首先下载phpmailer类库文件,在这里下载,只需一个资源分. 下载地

WIN8.1下搭建PHP5.6环境_php技巧

第一次接触php是在2014-5月份左右,当时是自己的主攻方向是C#,对php比较排斥, 其中很多一部分原因,就是PHP的断点调试一直无法配置成功,用echo打印日志的方式排错,使得自己对php心生怨恨,而错失了深入学习php的好机会.这次写这篇随笔,一方面是记录自己php方向的起航,另一方面也是希望能帮助刚接触php的初学者么,能够顺利的配置php的环境,而不至于对php产生恐惧. 一.系统环境简介 Windows系统是一个非常常见的系统.相信这里也不用多做解释.那么如何开启IIS(win8.

mac下Apache + MySql + PHP搭建网站开发环境_php技巧

首先为什不自己分别搭建Apache,PHP和MySql的环境呢?这样自己可以了解更多知识,说起来也更酷.可也许因为我懒吧,我是那种"既然有现成的,用就是了"的人.君子生非异也,善假于物也.两千年前的荀子就教导我们,要善于利用工具,我为什么非要自己一点一点配置呢? 哈哈,刚才说了windows下的PHP开发环境我用的是AppServ开发套件,Mac下呢,我用XAMPP.这是致力于推广Apache服务器的非营利性项目--Apache Friends推出的工具.其实XAMPP也有window

PHP正确配置mysql(apache环境)_php技巧

写了一个测试mysql的php文件如下: 复制代码 代码如下: <?php $link=mysql_connect('localhost','root','root'); if(!$link) echo "失败!"; else echo "成功!"; mysql_close(); ?> 结果报错误:Fatal error: Call to undefined function mysql_connect(),明显没法找到mysql相应的库,百度了一大堆,

php基于socket实现SMTP发送邮件的方法_php技巧

本文实例讲述了php基于socket实现SMTP发送邮件的方法.分享给大家供大家参考.具体分析如下: php采用socket通过SMTP发送邮件. 用的是php的php-sockets扩展,可以发送纯文本和html格式的邮件.代码如下: 复制代码 代码如下: <?php /** * 邮件发送类 * 支持发送纯文本邮件和HTML格式的邮件 * @example * $config = array( *       "from" => "*****", *