Как отправить письмо с помощью Google OAuth (через SMTP)? - PullRequest
1 голос
/ 21 октября 2011

Прочитал это и это и используя пример из здесь .

Однако, я все еще испытываю трудности с отправкой электронных писем какподтвержденный пользователь 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("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 не существует, и я не могу найти примеры кода для этого.

1 Ответ

0 голосов
/ 04 февраля 2013

Ознакомьтесь со следующими постами в блоге, которые покажут вам, где вы ошиблись.

google smtp oauth2 аутентификация

отправка почты с gmail smtp и xoauth

...