SwiftMailer Gmail OAuth 刷新访问令牌

3
我想使用oauth身份验证使用gmail SMTP发送电子邮件。
在这份文档中: https://github.com/swiftmailer/swiftmailer/blob/b11f0054d96fa49200d10401e34d879e46c2a2c6/lib/classes/Swift/Transport/Esmtp/Auth/XOAuth2Authenticator.php 我可以找到以下示例代码:
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 587, 'tls')
  ->setAuthMode('XOAUTH2')
  ->setUsername('YOUR_EMAIL_ADDRESS')
  ->setPassword('YOUR_ACCESS_TOKEN');

很好,它起作用了。但是它只能持续1小时,因为访问令牌在此期间后过期。我找不到任何方法来获取访问令牌的更新?我们如何将刷新令牌传递给swiftmailer?


phpmailer正在使用刷新令牌。 - fpilee
对于想了解更多关于谷歌邮件SMTP与OAuth2的信息的人,请查看此链接 - dikirill
1个回答

2

1
他们提供了协议以便使用,但他们无法为每个提供者 (谷歌,雅虎等)创建它。许多网站都使用OAuth,获得刷新令牌已经很容易了,他们不会费心为每个网站添加这个。 - Nawfal Serrar
@NawfalSerrar,有没有办法钩入Swift_SmtpTransport以确定授权是否失败,以便我可以使用刷新令牌来更新我的访问令牌? - bmatovu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接