From f4dc7e1f746582d42462ec56347dd354756203b0 Mon Sep 17 00:00:00 2001 From: R Chowdhury Date: Tue, 26 May 2020 07:29:58 -0400 Subject: Add `oauthbearer` support for SMTP This piggybacks on the existing IMAP support, and uses the same configuration format (my local testing example has the IMAP and SMTP lines almost copy-pasted from one another). It's a little clumsy in that a new token is negotiated for every `Send()` command, but it's a start... --- lib/oauthbearer.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lib') diff --git a/lib/oauthbearer.go b/lib/oauthbearer.go index 5bcba603..1030696e 100644 --- a/lib/oauthbearer.go +++ b/lib/oauthbearer.go @@ -13,7 +13,7 @@ type OAuthBearer struct { Enabled bool } -func (c *OAuthBearer) exchangeRefreshToken(refreshToken string) (*oauth2.Token, error) { +func (c *OAuthBearer) ExchangeRefreshToken(refreshToken string) (*oauth2.Token, error) { token := new(oauth2.Token) token.RefreshToken = refreshToken token.TokenType = "Bearer" @@ -26,7 +26,7 @@ func (c *OAuthBearer) Authenticate(username string, password string, client *cli } if c.OAuth2.Endpoint.TokenURL != "" { - token, err := c.exchangeRefreshToken(password) + token, err := c.ExchangeRefreshToken(password) if err != nil { return err } -- cgit