ruby-on-rails 如何使用Ruby Mail gem来检索使用POP3和oauth2令牌的Office 365电子邮件?

kulphzqa  于 2023-04-08  发布在  Ruby
关注(0)|答案(1)|浏览(152)

目前,我们正在使用mail gem来访问outlook中的电子邮件。

Mail.defaults do
  retriever_method :pop3,
    address: "outlook.office365.com",
    port: 995,
    user_name: username,
    password: password,
    enable_ssl: true'
end

all_mails = Mail.all

根据微软的说法,他们不再支持使用user_name和密码登录POP3邮件,现在需要oauth2的oauth_token。我可以很好地获得令牌,但不确定是否有办法在邮件gem中使用该令牌。

zwghvu4y

zwghvu4y1#

你可以试着这样设置

auth_url = 'https://login.microsoftonline.com/common/oauth2/v2.0/token'
auth_params = {
  grant_type: 'refresh_token',
  refresh_token: refresh_token,
  client_id: client_id,
  client_secret: client_secret,
  scope: 'https://outlook.office365.com/POP.AccessAsUser.All'
}

auth_response = Net::HTTP.post_form(URI(auth_url), auth_params)
auth_data = JSON.parse(auth_response.body)

相关问题