How to using Ruby Mail gem to retrieve email using POP3 and oauth2 token for office 365?

问题描述 投票:0回答:1

目前我们正在使用 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

根据 Microsoft 的说法,他们不再支持使用用户名和密码登录 POP3 邮件,现在需要来自 oauth2 的 oauth_token。我能够很好地获得令牌,但不确定是否可以在邮件 gem 中使用该令牌。

ruby-on-rails ruby email office365 pop3
1个回答
0
投票

你可以试试这样设置

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)
© www.soinside.com 2019 - 2024. All rights reserved.