我目前正在开发 Mail 应用程序,该应用程序可以发送电子邮件并拥有收件箱。
所以,我遵循这个 guide .
imap = Net::IMAP.new('mail.example.com')
imap.authenticate('LOGIN', 'joe_user', 'joes_password')
imap.examine('INBOX')
imap.search(["RECENT"]).each do |message_id|
envelope = imap.fetch(message_id, "ENVELOPE")[0].attr["ENVELOPE"]
puts "#{envelope.from[0].name}: \t#{envelope.subject}"
end
但是,我无法获取电子邮件的内容。我找不到任何保留电子邮件内容的变量。有人可以帮我吗?谢谢。
最佳答案
如此处所述imap mail,以下内容适用于我的 gmail
require 'net/imap'
imap = Net::IMAP.new("imap.gmail.com", 993, usessl = true)
imap.login("username", "password")
imap.examine('INBOX')
imap.search(["ALL"]).each do |message_id|
env = imap.fetch(message_id, "ENVELOPE")[0].attr["ENVELOPE"]
raw_message = imap.fetch(message_id,'RFC822').first.attr['RFC822']
puts "#{env.from[0].name}: \t#{env.subject}"
puts "raw message: #{raw_message}"
end
关于ruby-on-rails - Ruby on Rails 获取正文消息 IMAP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48473130/