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