2016-08-19 40 views
1

我正在使用PHPMailer,並且很難讓blueSM上的isSMTP正常工作。我已經能夠讓isMail工作,並且想知道發送郵件有什麼不同。此外,似乎我在嘗試使用isSMTP時遇到HELO或身份驗證錯誤,但bluehost說我的設置是正確的。我正在使用SSL和端口465.isMail和isSMTP之間的區別是什麼

回答

2

isMailisSMTP是方便的方法來設置PHPMailer的Mailer屬性的值。這個屬性確定了PHPMailer在構建消息後如何發送消息。隨着isMail,它使用PHP的「S mail發送功能。隨着isSMTP,它使用的PHPMailer的陪同SMTP類作爲SMTP客戶端,直接跟一個郵件服務器。

使用mail功能需要你有一臺郵件服務器安裝並運行在你的本地機器上 - 至少從歷史上來看,Windows並沒有這種情況,通常使用郵件功能的速度相當快,因爲​​它不需要與遠程主機進行通信,但是效率很低它實際上作爲系統自己的sendmail二進制文件的前端,它只是打開一個到localhost的同步SMTP連接,你也會得到更少的反饋 - mail函數返回布爾值,所以如果它不工作,很難說出它爲什麼失敗,並且您可能需要查看郵件服務器的日誌才能找到。

您可以使用SMTP路由發送到本地或遠程郵件服務器,通常SMTP到本地主機是最快的發送方式。由於PHPMailer使用自己的SMTP客戶端來執行此操作,這意味着它可以看到整個SMTP對話,因此當事情不起作用時可以獲得更好的反饋 - 您可以設置SMTPDebug = 2並查看整個對話。

有各種各樣的錯誤,最好找到根本原因是the PHPMailer troubleshooting guide

+0

很好的回答。謝謝。爲什麼在藍色主機和godaddy上使用isSMTP非常困難,而且易於使用isMAIL?他們都說我的憑據是正確的,但我得到一個基於php郵件文檔的HELO錯誤是一個身份驗證錯誤。你如何跟蹤這件事? – DCR

+0

據我所知,GoDaddy要求您使用其內部郵件服務器,並且不需要身份驗證,因爲它依賴於您的IP。 – Synchro

相關問題