2015-08-31 55 views
3

我試圖使用Laravel中的SwiftMailer驗證登錄憑證。我需要驗證SMTP服務器的登錄憑據,而不實際發送電子郵件。我可以使用SwiftMailer在不發送電子郵件的情況下驗證SMTP

我試圖做這樣的事情:

$client = Swift_SmtpTransport::newInstance($smtpServer, $smtpPort, 'ssl'); 
$client->setUsername($this->smtpUser); 
$client->setPassword($this->smtpPass); 
$client->authenticate(); 

上有Swift_SmtpTransport沒有authenticate()方法,但如果有類似的東西我可以用這將是巨大的。

我找不到在源合適的功能:https://github.com/swiftmailer/swiftmailer/blob/master/lib/classes/Swift/Transport/AbstractSmtpTransport.php

有沒有辦法,只是嘗試和使用SwiftMailer SMTP服務器上驗證身份驗證,而不必發送電子郵件?

回答

3

從他們manual

如果您需要提前知道認證是否已經失敗, 一個異常將被拋出,呼籲 創建運輸的start()方法。

+1

謝謝,這似乎工作。它有點讓我失望,如果你不設置用戶名和密碼,只需用有效的SMTP服務器和加密類型調用'$ client-> start()',start()將返回true。當我嘗試輸入用戶名和密碼時,它確實需要它們是正確的。 – Erik

相關問題