本文實例講述了php使用SAE原生Mail類別實作各種類型郵件發送的方法。分享給大家供大家參考,具體如下:
用過SAE的都知道,SAE所有服務中,就數Mail服務最不行了,時不時郵件就發不出去。特別是企業郵局,連新浪自家的企業郵局都出問題。今天就給出解決方案。
先來看看SAE文件中給出的DEMO:
$mail = new SaeMail(); $mail->setAttach( array( 'my_photo' => '照片的二进制数据' ) );//附件发送方法 $ret = $mail->quickSend( 'to@sina.cn' , '邮件标题' , '邮件内容' , 'smtpaccount@unknown.com' , '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使用SAE原生Mail類別實作各種類型郵件發送的方法相關文章請關注PHP中文網!