程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP使用Pear發送郵件(Windows環境)

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 = "[email protected]";  //發送方 
    $to = "[email protected]";  //接收方 
    $subject = "Hi!";  //主題 
    $body = "Hi,\n\nHow are you?"; //內容 
 
    $host = "smtp.live.com";  //SMTP服務器 
    $port = "587"; //端口 
//   $port = "25";  //兩個端口都行 
    $username = "[email protected]";//用戶名 
    $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 = '[email protected]'; //誰發的郵件
$rcpt = array('[email protected]', '[email protected]');//可設多個接收者
$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程序設計有所幫助。

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