2017-03-07 142 views
0

對於我的Laravel 5.1應用程序,我有一個內部部署的Exchange服務器和用戶帳戶,我想通過它們發送電子郵件。下面是值我.ENV文件:Laravel - 通過Exchange服務器發送電子郵件

MAIL_DRIVER=smtp 
MAIL_HOST=[IP ADDRESS] 
MAIL_PORT=587 
MAIL_USERNAME=[USERNAME] 
MAIL_PASSWORD=[PASSWORD] 
MAIL_ENCRYPTION=null 

我使用tls作爲加密值,只是爲了測試的緣故,當得到一個錯誤,我已經使用null現在。但後來我得到的錯誤Failed to authenticate on SMTP server with username "*******" using 1 possible authenticators

我不確定我應該開始排除故障。它似乎使用NTLM身份驗證來驗證憑據。我應該檢查Exchange服務器,看看它是否爲此設置?我使用的憑據是正確的。或者我的配置有問題嗎?

在此先感謝。

回答

0

當您使用端口587(MSA)時,您可能希望切換到應用程序中的端口465(smtps)以測試該端口。 Because MSA should accept email after authentication(例如,在SMTP AUTH之後)。

此外,還要檢查您是否可以通過端口25上的普通telnet發送電子郵件(例如,解釋爲here)。如果您需要TLS,那麼您可以使用OpenSSL檢查,如here所示,例如,如果在Exchange服務器上存在不受應用程序信任的自簽名SSL證書(例如Laravel)。

基於上述故障排除,您可能會得到一個更好的錯誤消息,而不是基於應用程序的。這可以用於在MS Exchange服務器上進行故障排除(如果需要,因爲承載Laravel應用程序的服務器上的telnet測試失敗)。

相關問題