《PHP實(shí)例:PHP使用Pear發(fā)送郵件(Windows環(huán)境)》要點(diǎn):
本文介紹了PHP實(shí)例:PHP使用Pear發(fā)送郵件(Windows環(huán)境),希望對(duì)您有用。如果有疑問,可以聯(lián)系我們。
PHP編程本文實(shí)例介紹了PHP使用Pear發(fā)送郵件的方法,以及如安在Windows下安裝PHP Pear的步驟,分享給大家供大家參考,具體內(nèi)容如下
PHP編程一、PEAR安裝
1、PEAR簡介
PEAR是PHP擴(kuò)展與應(yīng)用庫(the PHP Extension and Application Repository)的縮寫.它是一個(gè)PHP擴(kuò)展及應(yīng)用的一個(gè)代碼倉庫,簡單地說,PEAR之于PHP就像是CPAN(Comprehensive Perl Archive Network)之于Perl.
PEAR的基本目標(biāo)是發(fā)展成為PHP擴(kuò)展和庫代碼的知識(shí)庫,而這個(gè)項(xiàng)目最有雄心的目標(biāo)則是試圖定義一種標(biāo)準(zhǔn),這種標(biāo)準(zhǔn)將幫助開發(fā)者編寫可移植、可重用的代碼.
在WAMP集成環(huán)境中安裝PEAR
1)、首先下載一個(gè)go-pear.phar文件.
2)、進(jìn)入到php的運(yùn)行目錄安裝
我這里使用了一個(gè)wamp的集成開發(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
PHP編程
PHP編程到這一步可以修改PEAR安裝的$prefix路徑,我選擇了默認(rèn),一路回車進(jìn)行安裝.
3)、修改include_path選項(xiàng)
最后PEAR默認(rèn)擴(kuò)展包安裝后,提示是否需要配置php.ini文件中的include_path選項(xiàng)指向pear的安裝目錄
PHP編程
PHP編程當(dāng)然需要配置,否則無法使用,Y并回車,安裝包會(huì)自動(dòng)修改include_path選項(xiàng).提示我們環(huán)境變量沒有設(shè)置,所以下面我們還需要設(shè)置一下系統(tǒng)的環(huán)境變量.
新建一個(gè)環(huán)境變量名,如下圖
PHP編程
PHP編程然后在PATH變量中加入%php_home%就完成啦~.
2、PEAR常用命令
在命令行方式下,運(yùn)用PEAR的相關(guān)命令可以安裝自己需要的PEAR安裝包.
PHP編程二、安裝Mail,Mail_Mine,Net_SMTP
PHP編程三、實(shí)例
PHP編程
<?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編程四、php利用pear:Net_SMTP類發(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編程
<?php
require 'Net/SMTP.php';
$host = '126.com';//smtp服務(wù)器的ip或域名
$username= 'arcow';//登陸smtp服務(wù)器的用戶名
$password= 'secret';//登陸smtp服務(wù)器的暗碼
$from = 'arcow@126.com'; //誰發(fā)的郵件
$rcpt = array('test@test.com', 'arcow@126.com');//可設(shè)多個(gè)接收者
$subj = "Subject: 你是誰\n";//主題
$body = "test it";//郵件內(nèi)容
/* 建立一個(gè)類 */
if (! ($smtp = new Net_SMTP($host))) {
die("無法初始化類Net_SMTP!\n");
}
/* 開始連接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("無法設(shè)置發(fā)送者郵箱為 <$from>\n");
}
/* 設(shè)置接收郵件者 */
foreach ($rcpt as $to) {
if (PEAR::isError($res = $smtp->rcptTo($to))) {
die("郵件無法投遞到 <$to>: " . $res->getMessage() . "\n");
}
}
/* 開始發(fā)送郵件內(nèi)容 */
if (PEAR::isError($smtp->data($subj . "\r\n" . $body))) {
die("Unable to send data\n");
}
/* 斷開連接 */
$smtp->disconnect();
echo "發(fā)送成功!";
?>
PHP編程以上就是PHP使用Pear發(fā)送郵件的方法,希望本文所述對(duì)大家學(xué)習(xí)php程序設(shè)計(jì)有所幫助.
維易PHP培訓(xùn)學(xué)院每天發(fā)布《PHP實(shí)例:PHP使用Pear發(fā)送郵件(Windows環(huán)境)》等實(shí)戰(zhàn)技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養(yǎng)人才。
轉(zhuǎn)載請(qǐng)注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/7910.html