2011-10-21 148 views
1

已閱讀thisthis以及使用示例here如何使用Google OAuth發送電子郵件(通過SMTP)?

但是,作爲經過驗證的Google用戶使用OAuth發送電子郵件仍然有困難。我也有有效的OAuth令牌,祕密和xoauth令牌。

我的代碼發送電子郵件:

$authenticateParams = array('XOAUTH', $initClientRequestEncoded); 

$smtp = new Zend_Mail_Protocol_Smtp('smtp.gmail.com', 587, array(
"AUTH" => $authenticateParams, 'ssl' => 'tls')); 

try { 
    // Create a new mail object 
    $mail = new Zend_Mail(); 

    $mail->setFrom("[email protected]"); 
    $mail->addTo("[email protected]"); 
    $mail->setSubject("Your account has been created"); 

    $email = "Thank you for registering!"; 

    $mail->setBodyText($email); 
    $mail->send(); 

} catch (Exception $e) { 
    echo "error sending email . <BR>" . $e; 
} 

但這似乎發送一封匿名郵件,而不是驗證的用戶。如果我這樣做:

$smtp = new Zend_Mail_Transport_Smtp('smtp.gmail.com', array('AUTHENTICATE' => $authenticateParams, 'ssl' => 'tls')); 
Zend_Mail::setDefaultTransport($smtp); 

我得到:異常'Zend_Mail_Protocol_Exception'消息'5.5.1需要身份驗證。

我確定這只是一個獲取郵件傳輸smtp params的權利,但發送SMTP電子郵件的文檔不存在,我找不到任何代碼示例。

回答

相關問題