1
已閱讀this和this以及使用示例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電子郵件的文檔不存在,我找不到任何代碼示例。