本文實例講述了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('fromemail@example.com', '发送人的说明信息') //收信人电子邮件地址以及一些收信人的说明信息 ->addTo('toemail@example.com', '收信人的说明信息') //电子邮件标题,解决乱码 ->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('kylingood@gmail.com', 'kylingood'); $mail->addTo($email, 'kylingood'); $title=$thisArray ['username'].',用户您好,这是网站激活验证邮件!'; $mail->setSubject("=?UTF-8?B?".base64_encode($title)."?="); $mail->send(); ?>
好了..大致用Zend_Mail發送郵件就是這個原理..當然還有更多高級點的用法.比如說郵件發送附件..一次性發送多個電子郵件.還有還有就是使用不同的Transport對象來發送不同的郵件...大家可以參考ZF手冊來做啊...希望大家可以多多交流..
希望本文所述對大家基於Zend Framework框架的PHP程式設計有所幫助。
更多Zend_Mail實作發送Email郵件驗證功能及解決標題亂碼的方法l郵件相關文章請關注PHP中文網!