但是,我仍然难以使用OAuth作为经过验证的Google用户发送电子邮件。我也有有效的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("aaaaa@gmail.com");
$mail->addTo("bbbbb@gmail.com");
$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参数的情况,但发送SMTP电子邮件的文档不存在,我找不到任何代码示例。
答案 0 :(得分:0)