這篇文章主要介紹php發送郵件問題的解決方法,有興趣的朋友參考下,希望對大家有幫助。
php實作發送郵件,一般常用的是開源專案PHPMailer來實現,那麼除此之外,還有什麼其他的好的專案嗎?
解決方法:
使用SMTP協定來傳送郵件吧
在CodeIgniter裡面使用它內建的郵件類別來傳送郵件
$this->load->library('email'); $to = "aa@bb.cc"; $subject = "test"; $message = "hello!"; $config["protocol"] = "smtp"; $config["smtp_host"] = "smtp.163.com"; $config["smtp_user"] = "username@163.com"; $config["smtp_pass"] = "password"; $config["mailtype"] = "html"; $config["validate"] = true; $config["priority"] = 3; $config["crlf"] = "/r/n"; $config["smtp_port"] = 25; $config["charset"] = "utf-8"; $config["wordwrap"] = TRUE; $this->email->initialize($config); $this->email->from('xxxx@163.com', 'xxxx'); $this->email->to($to); $this->email->subject($subject); $this->email->message($message); $this->email->send();
這種方式傳送郵件無需裝任何軟體,但需要你寫更多的程式碼,而且要對SMTP比較熟悉。
但是如果你不自己寫,而是直接使用別人寫好的現成的程式碼的話,那這種方法無疑是最省事的:
不需要自己搭建SMTP伺服器,也不需要寫很多的程式碼。
總結:
目前PHP自帶的就是透過基於sendmail的mail()函數來傳送郵件,不過前提是伺服器上必須要安裝sendmail,很多伺服器空間商是沒有安裝sendmail郵件伺服器的。所以這就有一定限制。
所以目前就有很多基於SMTP來傳送郵件的開源元件,最出名的應該是phpMailer,這個你已經知道了我就不多說了,我這裡再說說其它的方法吧。
1、XPertMailer:這個也是開源的PHP發送郵件的元件,和phpMailer類似,也很方便,這裡是它的官網(http://xpertmailer.sourceforge.net/),我親自測試過,真得挺好的。
2、JMail:JMail是Windows下的元件,不過PHP支援透過COM來呼叫它,這也是一種解決方案吧,不過前提是Web Server如果在Windows運行倒是可以考慮,否則還是算了吧。
3、網路上有很多人寫的基於SMTP的mail類,也是可以用的,但是所支援功能就比較簡單了。如果要求不高,也可以考慮。
4、這裡還有20個比較出名開源PHP發送郵件的元件,本人沒有一一測試過,不發表看法。你可以自己試試看。在這裡貼上地址:
介紹20個PHP發送郵件郵件開源專案
總結:以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。
相關推薦:
以上是php發送郵件問題的解決方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!