PHP使用Pear發送郵件(Windows環境)_php技巧

來源:互聯網
上載者:User

本文執行個體介紹了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程式設計有所協助。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.