6
A
回答
8
這三個選項並不完全在同一聯盟中,假設第一個意思是mail()
函數。
使用mail()
函數通常會調用本地郵件注入器,通常是由MTA提供的二進制程序,實際稱爲「sendmail」。 mail()
的問題在於它是一個非直接的界面,其中有很多陷阱和陷阱沒有很好的記錄。這是因爲它模仿(IMO嚴重)調用Unix CLI mail
命令。
你可以自己調用本地注入器,但是這種情況記錄的更不好。無論如何,你可以撥打mail()
,因爲這是後者所做的。
但是,使用SMTP會帶來一系列問題。如果有本地MTA接受和轉發郵件,那麼這不是一個壞的解決方案。如果沒有,你將不得不找出你應該發送到哪個主機。這將要麼找出哪個外部主機應該做你的轉發,要麼自己做實際的MX查找。您還需要知道SMTP協議,並能夠出於任何原因處理拒絕服務。而且您必須決定如何處理重新嘗試發送的需求。
自己做SMTP還有一個問題,就是無法從發送電子郵件的原因中分離發送電子郵件。如果出現延遲或問題,您的頁面將顯示爲卡住。使用本地注入器將前一個問題交給MTA;你所做的一切就是排隊發送郵件。但是,您不必擔心重新發送等事情。
這三種解決方案也不能幫助您組裝消息,如豐富的內容,備用內容和附件。你必須自己做所有的事情(並添加正確的標題!)。
正常的建議是找到一個能爲你做所有事情的庫,它很健壯並且有一個體面的API。通常的是PHP郵件程序。這個庫的優點是它也可以完成所有的消息彙編,以及搞清楚如何完成交付。但它的主要優點是它只是發送消息,嘗試mail()
和本地SMTP,甚至是遠程SMTP(如果必須的話)。一切都很透明。
相關問題
- 1. SMTP電子郵件發送
- 2. SMTP:發送電子郵件
- 3. smtp php電子郵件腳本不發送電子郵件
- 4. django html_message和發送郵件中的郵件有什麼區別
- 5. 發送電子郵件使用net/SMTP
- 6. 使用SMTP發送電子郵件
- 7. 使用SMTP發送電子郵件
- 8. 不使用SMTP發送電子郵件
- 9. 如何使用PHP和sendmail/SMTP創建電子郵件帳戶?
- 10. 在PHP發送電子郵件和使用谷歌Apps郵件的SMTP是
- 11. 電子郵件:SMTP和PHP
- 12. 發送帶有SMTP的電子郵件
- 13. 用PHP郵件發送電子郵件()
- 14. 的sendmail發送電子郵件 - Django的
- 15. PHP和Apache塊,而我發送電子郵件使用smtp
- 16. PHP發送smtp電子郵件與梨郵件模塊
- 17. C#使用SMTP發送郵件?與電子郵件地址
- 18. 發送SMTP的Gmail電子郵件'發送郵件失敗'
- 19. PHP發送電子郵件多次發送電子郵件
- 20. 發送電子郵件操作和發送電子郵件操作之間的區別郵件保存操作
- 21. PHP郵件不發送電子郵件
- 22. cPanel在wordpress插件中使用gmail smtp發送電子郵件
- 23. 使用SMTP發送來自別名地址的電子郵件
- 24. 如何使用Zend_Mail,sendmail和localhost發送電子郵件?
- 25. 使用PHP發送電子郵件有什麼要求?
- 26. 爲什麼PHP腳本的郵件不發送電子郵件
- 27. 使用'mail'或'sendmail'發送帶有CodeIgniter的電子郵件
- 28. 發送的sendmail郵件大型電子郵件
- 29. 這封電子郵件爲什麼不發送電子郵件?
- 30. 使用SMTP在Linux中使用C發送電子郵件
謝謝,我發現非常有幫助!我將研究PHP Mailer。 – dangerChihuahua007 2012-03-01 02:32:28
非常有用的信息。我也很困惑,但現在我正在使用PHP梅勒。 – Abhijeet 2014-01-03 06:59:20