本文實例講述了php使用SAE原生Mail類實現各種類型郵件發送的方法。分享給大家供大家參考,具體如下:
用過SAE的都知道,SAE所有服務中,就數Mail服務最不行了,時不時郵件就發不出去。特別是企業郵局,連新浪自家的企業郵局都出問題。今天就給出解決方案。
先來看看SAE文檔中給出的DEMO:
$mail = new SaeMail(); $mail->setAttach( array( 'my_photo' => '照片的二進制數據' ) );//附件發送方法 $ret = $mail->quickSend( '[email protected]' , '郵件標題' , '郵件內容' , '[email protected]' , 'password' , 'smtp.unknown.com' , 25 ); // 指定smtp和端口
SAE給出的這個DEMO使用的是quicksend()方法,該方法經我測試,在使用非企業郵局的時候是可以完美發送的,而且到信率很高。但是注意只能使用smtp的25端口,不能使用SSL連接,不知道是不是打開方式不對,希望高人指點。
但是對於網站來說,有一個自有的獨立域名郵箱很重要,這時企業郵局就派上用場了。只是使用quicksend()方法總是發送失敗。所以我們要使用send()方法來。send()方法使用稍微復雜些:
1、先設置發送參數setOpt(),設置的這個發送參數對quicksend()方法無效,只對send()有效。
$mail = new SaeMail(); $mail->setOpt(array( 'from' => '發件郵箱', 'to' => trim($to),//接收信箱 'smtp_host' => 'smtp服務器' , 'smtp_port' => 25, //port 'smtp_username' => '賬戶全名', 'smtp_password' => '密碼', 'subject' => '主題', 'content' => '內容', 'content_type' => 'HTML' //發送格式,默認是text ) ); $ret = $mail->send();
如此,就可以。更多參數可以去官方文檔查看。
由於本站只是對評論回復進行郵件提示,所以在send()並沒有對SSL測試,有需要可以自己測試。
到此這就結束了,如果不喜歡該方法,還可以自己百度第三方的Mail類庫,也是可以的。經測試發信與收信大概都在3秒以內,可以滿足大部分需求了。
更多關於PHP相關內容感興趣的讀者可查看本站專題:《php常見數據庫操作技巧匯總》、《PHP數組(Array)操作技巧大全》、《php排序算法總結》、《PHP常用遍歷算法與技巧總結》、《PHP數據結構與算法教程》、《php程序設計算法總結》、《PHP數學運算技巧總結》、《php正則表達式用法總結》、《PHP運算與運算符用法總結》及《php字符串(string)用法總結》
希望本文所述對大家PHP程序設計有所幫助。