【问题标题】:How to archive a message using ruby `net/imap`如何使用 ruby​​ `net/imap` 归档消息
【发布时间】:2011-10-06 14:43:33
【问题描述】:

使用以下 ruby​​ 代码,我可以通过 IMAP 阅读收件箱中的用户邮件:

require 'net/imap'
imap = Net::IMAP.new('imap.gmail.com',993,true)
imap.login('user','passwd')
imap.select('INBOX')
mailIds = imap.search(['ALL'])
mailIds.each do |id|
  msg = imap.fetch(id,'RFC822')[0].attr['RFC822']
  puts msg
end 
imap.logout()
imap.disconnect()

我想知道如何归档和标记已读电子邮件。我想将电子邮件移出用户的收件箱。

【问题讨论】:

    标签: ruby imap


    【解决方案1】:

    使用store method

    require 'net/imap'
    imap = Net::IMAP.new('imap.gmail.com', 993, true)
    imap.login('user', 'passwd')
    imap.select('INBOX')
    mailIds = imap.search(['ALL'])
    mailIds.each do |id|
      msg = imap.fetch(id, 'RFC822')[0].attr['RFC822']
      puts msg
      imap.store(id, "+FLAGS", [:Seen])
    end 
    imap.logout()
    imap.disconnect()
    

    【讨论】:

    • 这似乎不适用于 GMail 邮箱:STORE 尝试只读文件夹(失败)
    • 您是否明确选择了一个文件夹?在我在那里添加文件夹选择之前它对我不起作用(imap.select'INBOX')
    猜你喜欢
    • 2015-01-11
    • 1970-01-01
    • 1970-01-01
    • 2022-06-11
    • 2018-07-06
    • 2011-03-11
    • 2014-10-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多