2011-10-21 160 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电子邮件的文档不存在,我找不到任何代码示例。

回答

相关问题