php實現發送郵件,一般常用的是開源項目PHPMailer來實現,那麼除此之外,有什麼其他的好的項目嗎?
解決方法:
使用SMTP協議來發送郵件吧
在CodeIgniter裡面使用它內置的郵件類發送郵件
$this->load->library('email'); $to = "[email protected]"; $subject = "test"; $message = "hello!"; $config["protocol"] = "smtp"; $config["smtp_host"] = "smtp.163.com"; $config["smtp_user"] = "[email protected]"; $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('[email protected]', '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開源項目
以上所述就是本文的全部內容了,希望大家能夠喜歡。