使用Pear和php socket來實現通過smtp驗證發送郵件

來源:互聯網
上載者:User

 

前一斷時間我打算做一個 —— 使用者註冊完後把註冊資訊發送到使用者的郵箱的東西,
放到我在mvbb租的空間裡。當然我打算php實現。然而php自身只帶了個mail()用來
發送郵件。不過用mail()的前提是要有一個郵件系統(Qmail阿之類的)。但在我租的
一般空間上,是不可能有的。能不能使用我在www.126.com註冊的帳號,然後用126的
smtp發送呢?單純用mail()肯定是不行的了,因為mail()不提供驗證的介面。

好了,下面該說怎麼做了。(少廢話,快給原始碼!! >_<!!)
知道了,原始碼如下:

<?php
require_once 'Mail.php';

$conf['mail'] = array(
'host' => 'smtp.126.com', //smtp伺服器位址
'auth' => true, //true表示smtp伺服器需要驗證,false不需要
'username' => 'liangbowen', //使用者名稱
'password' => '******' //密碼
);

//發送郵件
$headers['From'] = 'liangbowen@126.com'; //發信地址
$headers['To'] = 'liangbowen@hotmail.com'; //收信地址
$headers['Subject'] = 'test mail send by php bowen.mvbb.com'; //郵件標題
$mail_object = &Mail::factory('smtp', $conf['mail']);
//郵件內文
$body = "這是一封自己發給自己的郵件。";

$mail_res = $mail_object->send($headers['To'], $headers, $body); //發送

if(PEAR::isError($mail_res)){ //檢測錯誤
die($mail_res->getMessage());
}
else{
echo "send successful!";
}

?>

如你所見,要用到PEAR的socket和smtp類,可以上PEAR去下載。當然你也可以自己寫smtp和socket的類。

付源碼:http://www.liangbowen.com/downloads/mail.zip

因為是供學習參考,裡面只是個很簡單的例子,檔案也有些亂。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.