本篇文章主要介紹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發送郵件mail開源項目
總結:以上就是本篇文的全部內容,希望能對大家的學習有所協助。
相關推薦:
PHP+Mysql+jQuery實現密碼找回的功能
php利用Regex提取內容中的連結
PHP表單資料驗證類