2013-02-12 61 views
0

我使用Swiftmailer在基於Yii的應用程序中發送電子郵件,它工作的很好,所以Swiftmailer擴展包裝程序沒有問題。但是現在我想使用SMPT傳輸來對我的應用程序中的用戶進行身份驗證,以對抗郵件服務器。我正在使用的代碼:使用Swiftmailer進行SMTP傳輸身份驗證

$SM = Yii::app()->swiftMailer; 

$mailHost = 'XXX'; 
$mailPort = XXX; 

// New transport 
$transport = $SM->smtpTransport($mailHost, $mailPort); 

$transport->setUsername($username); 
$transport->setPassword($password); 
$transport->start(); 

if($transport->isStarted()){ 
    // authenticated;  
}else{ 
    // error; 
} 

$transport->stop(); 

這不起作用。當我設置真正的登錄憑證即刻登錄。但是,當我輸入錯誤的登錄憑據時,它會花費一些時間,但最終它也會登錄。我不知道爲什麼會發生這種情況,因爲只是使用真正的憑據Swiftmailer可以發送電子郵件。 我使用正確的API函數?我做錯了什麼?

回答

0

看着the source,當您撥打start()時,啓動始終設置爲True。

我對switfmailer不熟悉,但它看起來像你想檢查authenticate()的結果()

+0

是的! authenticate()是類運輸中的一種方法嗎?我沒有看到它。讓我檢查一下。 – 2013-02-14 18:05:13