程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP使用pear實現mail發送功能 windows環境下配置pear

PHP使用pear實現mail發送功能 windows環境下配置pear

編輯:PHP綜合

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,這是我們一會要引用的文件.
下邊是我們用來發郵件的代碼:

<?
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']  = '[email protected]';       //發信地址
$headers['To']   = '[email protected]';       //收信地址
$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發送功能的全部代碼,希望對大家的學習有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved