萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> php發送郵件的問題詳解

php發送郵件的問題詳解

   這篇文章主要介紹了php發送郵件的問題詳解的相關資料,需要的朋友可以參考下

  php實現發送郵件,一般常用的是開源項目PHPMailer來實現,那麼除此之外,有什麼其他的好的項目嗎?

  解決方法:

  使用SMTP協議來發送郵件吧

  在CodeIgniter裡面使用它內置的郵件類發送郵件

  ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 $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開源項目

  以上所述就是本文的全部內容了,希望大家能夠喜歡。

copyright © 萬盛學電腦網 all rights reserved