簡體   English   中英

如何使用Google OAuth(通過SMTP)發送電子郵件?

[英]How to send email using Google OAuth (via SMTP)?

這里已經閱讀了這個這個以及使用示例。

但是,我仍然很難使用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電子郵件的文檔,因此我找不到任何代碼示例。

查看以下博客文章,這些文章將向您顯示錯誤所在。

Google smtp oauth2身份驗證

使用gmail smtp和xoauth發送郵件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM