程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> Zend Framework框架之Zend_Mail實現發送Email郵件驗證功能及解決標題亂碼的方法

Zend Framework框架之Zend_Mail實現發送Email郵件驗證功能及解決標題亂碼的方法

編輯:PHP綜合

本文實例講述了Zend Framework框架之Zend_Mail實現發送Email郵件驗證功能及解決標題亂碼的方法。分享給大家供大家參考,具體如下:

Zend Framework 裡Zend_Mail這個組件用起來還是很方便的..它提供了通用化的編寫與發送文本內容的郵件,當然它也兼容MIME標准的多個多個段的郵件消息的功能.Zend_Mail裡通過默認的Zend_Mail_Transport_SendMail傳輸或能過Zend_Mail_Transport_Smtp來發送我們的電子郵件.

Zend_Mail發送最簡單的郵件功能.通過Zend_Mail_Transport_Sendmail發來送.我們只要指定郵件的一個收件人,一個主題,一個郵件內容和一個發件人就可以了.它的代碼如下(有注解:):

<?php
require_once 'Zend/Mail.php';
$mail = new Zend_Mail("UTF-8");//設置郵件編碼
$mail->setBodyText('你的郵件內容放在這裡!.') //發送電子郵件地址以及一些發送人的說明信息
->setFrom('[email protected]', '發送人的說明信息') //收信人電子郵件地址以及一些收信人的說明信息
->addTo('[email protected]', '收信人的說明信息') //電子郵件標題,解決亂碼
->setSubject("=?UTF-8?B?".base64_encode('電子郵件標題')."?=")  ->send();
?>

另外一個就是通過一個SMTP發送電子郵件.不過你需要配置你的郵件服務器.這一步大家可以去GOOGLE一下..我就不在這裡多說了.我這裡是能守GOOGLE來實現發送電子郵件的..經過我的測試.我的電子郵件到送到自己的Gmail和163(網易)的郵箱都沒有問題.亂碼問題也解決了..標題長度限制問題也沒有出現..以前是自己參考網上改了Zend_Mail裡面的函數..現在用1.6版的Zend Framework好像沒有這樣的問題..我想是ZF團隊改了裡面的BUG吧...呵呵..

下面是自己的實現的代碼:

<?php
require_once ROOT_PATH . '/Zend/Mail.php';
require_once ROOT_PATH . '/Zend/Mail/Transport/Smtp.php';
$mail = new Zend_Mail("UTF-8");//設置郵件編碼
$config = array(
 'auth'=>'login', 'username'=>"kylingood",//電子件用戶名
 'password'=>"這裡是填寫你電子郵件密碼",
 'ssl'=>"ssl"
);
$transport = new Zend_Mail_Transport_Smtp('smtp.gmail.com',$config);
$mail->setDefaultTransport($transport);
$mailcontent='歡迎您的到來!<br /> 您的注冊名為:
'.$thisArray ['username'].'<br /> 您的密碼為:'.$thisArray ['userpass'].'
<br /> 請您點擊這裡的地址:<a href="#"><font color="red">激活
</font> </a>您的帳號!
請盡快刪除此郵件,以免別人偷看到您的密碼<br /> 如果忘了密碼,
可以到社區寫信請管理員重新設定<br />';
$mail->setBodyHtml($mailcontent);//可以發送HTML的郵件.真方便! 
$mail->setFrom('[email protected]', 'kylingood');
$mail->addTo($email, 'kylingood'); $title=$thisArray ['username'].',用戶您好,這是網站激活驗證郵件!';
$mail->setSubject("=?UTF-8?B?".base64_encode($title)."?=");
$mail->send();
?>

好了..大致用Zend_Mail發送郵件就是這個原理..當然還有更多高級點的用法.比如說郵件發送附件..一次性發送多個電子郵件.還有還有就是使用不同的Transport對象來發送不同的郵件...大家可以參考ZF手冊來做啊...希望大家可以多多交流..

更多關於zend相關內容感興趣的讀者可查看本站專題:《Zend FrameWork框架入門教程》、《php優秀開發框架總結》、《Yii框架入門及常用技巧總結》、《ThinkPHP入門教程》、《php面向對象程序設計入門教程》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家基於Zend Framework框架的PHP程序設計有所幫助。

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