我想使用oauth authentification通过gmail SMTP发送电子邮件。
我可以找到这个示例代码:
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 587, 'tls')
->setAuthMode('XOAUTH2')
->setUsername('YOUR_EMAIL_ADDRESS')
->setPassword('YOUR_ACCESS_TOKEN');
很棒的工作。但它只工作1小时,因为访问令牌在此期间过期。我找不到更新访问令牌的方法吗?我们如何将刷新令牌传递给swiftmailer?
答案 0 :(得分:2)
setPassword应该从更新位置获取令牌,因此您需要创建一个函数,从不断更新的地方返回此令牌,在google api的情况下是一个Web服务,如下链接将有助于:
Google OAuth 2.0 refresh token for web application with public access
https://developers.google.com/accounts/docs/OAuth2WebServer#offline