本文執行個體介紹了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擴充和庫代碼的知識庫,而這個項目最有雄心的目標則是試圖定義一種標準,這種標準將協助開發人員編寫可移植、可重用的代碼。
在WAMPIntegration Environment中安裝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"
代碼:
<?phprequire '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程式設計有所協助。