PHP使用Pear發(fā)送郵件(Windows環(huán)境)
本文實(shí)例介紹了PHP使用Pear發(fā)送郵件的方法,以及如何在Windows下安裝PHP Pear的步驟,分享給大家供大家參考,具體內(nèi)容如下
一、PEAR安裝
1、PEAR簡(jiǎn)介
PEAR是PHP擴(kuò)展與應(yīng)用庫(kù)(the PHP Extension and Application Repository)的縮寫(xiě)。它是一個(gè)PHP擴(kuò)展及應(yīng)用的一個(gè)代碼倉(cāng)庫(kù),簡(jiǎn)單地說(shuō),PEAR之于PHP就像是CPAN(Comprehensive Perl Archive Network)之于Perl。
PEAR的基本目標(biāo)是發(fā)展成為PHP擴(kuò)展和庫(kù)代碼的知識(shí)庫(kù),而這個(gè)項(xiàng)目最有雄心的目標(biāo)則是試圖定義一種標(biāo)準(zhǔn),這種標(biāo)準(zhǔn)將幫助開(kāi)發(fā)者編寫(xiě)可移植、可重用的代碼。
在WAMP集成環(huán)境中安裝PEAR
1)、首先下載一個(gè)go-pear.phar文件。
2)、進(jìn)入到php的運(yùn)行目錄安裝
我這里使用了一個(gè)wamp的集成開(kāi)發(fā)環(huán)境,版本是wampserver2.2e-php5.4.3-httpd2.2.22-mysql5.5.24-32b,我本地的安裝路徑是C:\wamp\bin\php\php5.4.3>
執(zhí)行如下的命令:
php.exe -d phar.require_hash=0 go-pear.phar
到這一步可以修改PEAR安裝的$prefix路徑,我選擇了默認(rèn),一路回車(chē)進(jìn)行安裝。
3)、修改include_path選項(xiàng)
最后PEAR默認(rèn)擴(kuò)展包安裝后,提示是否需要配置php.ini文件中的include_path選項(xiàng)指向pear的安裝目錄
當(dāng)然需要配置,否則無(wú)法使用,Y并回車(chē),安裝包會(huì)自動(dòng)修改include_path選項(xiàng)。提示我們環(huán)境變量沒(méi)有設(shè)置,所以下面我們還需要設(shè)置一下系統(tǒng)的環(huán)境變量。
新建一個(gè)環(huán)境變量名,如下圖
然后在PATH變量中加入%php_home%就完成啦~。
2、PEAR常用命令
在命令行方式下,運(yùn)用PEAR的相關(guān)命令可以安裝自己需要的PEAR安裝包。
- pear help 列出pear的所有命令,類(lèi)似于pear的命令幫助命令。
- pear help <command> 列出某個(gè)pear命令的具體信息
- pear help shortcuts 列出所有pear命令的簡(jiǎn)寫(xiě)
二、安裝Mail,Mail_Mine,Net_SMTP
- 第一步:在cmd中進(jìn)入到PHP的運(yùn)行目錄,也就是php.exe。
- 第二步:使用pear install Mail,pear install Mail_Mine,pear install Net_SMTP安裝好發(fā)郵件需要的類(lèi)庫(kù)
- 第三步:使用pear list查看以上三個(gè)類(lèi)庫(kù)是否安裝。
三、實(shí)例
<?php error_reporting(0); //PHP會(huì)出現(xiàn)不規(guī)范提示,故此設(shè)置 require_once "Mail.php"; //記得將Pear目錄加入環(huán)境,才能這樣引用,否則要引用絕對(duì)路徑 $from = "sender@outlook.com"; //發(fā)送方 $to = "receiver@qq.com"; //接收方 $subject = "Hi!"; //主題 $body = "Hi,\n\nHow are you?"; //內(nèi)容 $host = "smtp.live.com"; //SMTP服務(wù)器 $port = "587"; //端口 // $port = "25"; //兩個(gè)端口都行 $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)); //服務(wù)設(shè)置 //發(fā)送郵件 $mail = $smtp->send($to, $headers, $body); //錯(cuò)誤處理 if (PEAR::isError($mail)) { echo("<p>". $mail->getMessage() ."</p>"); } else { echo("<p>Message successfully sent!</p>"); } ?>
四、php利用pear:Net_SMTP類(lèi)發(fā)送郵件的方法
在使用以下源代碼前,請(qǐng)配置好pear的路徑,并下載net_smtp包。
在php.ini文件中根據(jù)你的操作系統(tǒng)選擇不同的設(shè)置方法:
; UNIX: "/path1:/path2"
include_path = ".:./php/pear"
;
; Windows: "\path1;\path2"
;include_path = ".;c:\php\pear"
代碼:
<?php require 'Net/SMTP.php'; $host = '126.com';//smtp服務(wù)器的ip或域名 $username= 'arcow';//登陸smtp服務(wù)器的用戶名 $password= 'secret';//登陸smtp服務(wù)器的密碼 $from = 'arcow@126.com'; //誰(shuí)發(fā)的郵件 $rcpt = array('test@test.com', 'arcow@126.com');//可設(shè)多個(gè)接收者 $subj = "Subject: 你是誰(shuí)\n";//主題 $body = "test it";//郵件內(nèi)容 /* 建立一個(gè)類(lèi) */ if (! ($smtp = new Net_SMTP($host))) { die("無(wú)法初始化類(lèi)Net_SMTP!\n"); } /* 開(kāi)始連接SMTP服務(wù)器*/ if (PEAR::isError($e = $smtp->connect())) { die($e->getMessage() . "\n"); } /* smtp需要身份驗(yàn)證 */ $smtp->auth($username,$password,"PLAIN"); /*設(shè)置發(fā)送者郵箱 */ if (PEAR::isError($smtp->mailFrom($from))) { die("無(wú)法設(shè)置發(fā)送者郵箱為 <$from>\n"); } /* 設(shè)置接收郵件者 */ foreach ($rcpt as $to) { if (PEAR::isError($res = $smtp->rcptTo($to))) { die("郵件無(wú)法投遞到 <$to>: " . $res->getMessage() . "\n"); } } /* 開(kāi)始發(fā)送郵件內(nèi)容 */ if (PEAR::isError($smtp->data($subj . "\r\n" . $body))) { die("Unable to send data\n"); } /* 斷開(kāi)連接 */ $smtp->disconnect(); echo "發(fā)送成功!"; ?>
以上就是PHP使用Pear發(fā)送郵件的方法,希望本文所述對(duì)大家學(xué)習(xí)php程序設(shè)計(jì)有所幫助。
- windows下安裝pear及phpunit(注意配置好php命令行環(huán)境)
- windows下安裝PEAR php5.3.1下解決出錯(cuò)的方法
- Windows下的PHP安裝pear教程
- Windows 下的 PHP-PEAR 安裝方法
- PHP使用pear實(shí)現(xiàn)mail發(fā)送功能 windows環(huán)境下配置pear
- PHP Pear 安裝及使用
- PHP 5.0 Pear安裝方法
- PHP pear安裝配置教程
- pear包安裝phpunit的方法
- php安裝xdebug/php安裝pear/phpunit詳解步驟(圖)
- PHP性能優(yōu)化準(zhǔn)備篇圖解PEAR安裝
- Windows環(huán)境下安裝PHP Pear的方法圖文教程
相關(guān)文章
php將圖片保存為不同尺寸圖片的圖片類(lèi)實(shí)例
這篇文章主要介紹了php將圖片保存為不同尺寸圖片的圖片類(lèi),涉及php圖片操作的保存、復(fù)制、縮略圖等常用技巧,并封裝成一個(gè)類(lèi)文件以便于調(diào)用,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-03-03關(guān)于php程序報(bào)date()警告的處理(date_default_timezone_set)
PHP Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function2013-10-10PHP學(xué)習(xí)筆記之三 數(shù)據(jù)庫(kù)基本操作
本文介紹最基本最實(shí)用的數(shù)據(jù)庫(kù)操作。首先簡(jiǎn)單復(fù)習(xí)下MySQL的使用方法,并且建好一張表備用。MySQL在Linux系統(tǒng)上一般都是裝好的,在win下安裝也很簡(jiǎn)單,不多做介紹。2011-01-01PHP基于數(shù)組實(shí)現(xiàn)的分頁(yè)函數(shù)實(shí)例
這篇文章主要介紹了PHP基于數(shù)組實(shí)現(xiàn)的分頁(yè)函數(shù)實(shí)例,是非常實(shí)用的一個(gè)技巧,需要的朋友可以參考下2014-08-08php使用function_exists判斷函數(shù)可用的方法
這篇文章主要介紹了php使用function_exists判斷函數(shù)可用的方法,通過(guò)一個(gè)圖像處理函數(shù)中使用function_exists函數(shù)判斷并輸出來(lái)實(shí)現(xiàn)函數(shù)存在判斷與流程靈活控制的功能,具有很好的借鑒價(jià)值,需要的朋友可以參考下2014-11-11PHP彈出提示框并跳轉(zhuǎn)到新頁(yè)面即重定向到新頁(yè)面
本文為大家介紹下使用PHP彈出提示框并跳轉(zhuǎn)到新頁(yè)面,也就是大家所認(rèn)為的重定向,下面的示例大家可以參考下2014-01-01