【问题标题】:IMAP flags always has :Seen flagIMAP 标志总是有 :Seen 标志
【发布时间】:2013-09-10 14:45:09
【问题描述】:

我正在使用 imap 将电子邮件导入应用程序:

我有以下代码:

since_time = Net::IMAP.format_date sync_time

google.email.all folder: folder, keys: [ 'SINCE', since_time ] do |mail, imap, uid|
  flags = imap.uid_fetch(uid, ['FLAGS'])[0].attr['FLAGS']

  if flags.include?(:Seen)
    #flags always has :Seen

如果电子邮件尚未被阅读,我想将其标记为未读,但使用上面的代码,始终返回 :Seen 标志。

我的理解是,只有在电子邮件被标记为已读时才会返回 :Seen 标志。

我是否误解了标志应该如何工作?

【问题讨论】:

    标签: ruby imap


    【解决方案1】:

    检查应用程序的其余部分是否触发了某些BODY 部分的FETCH 命令。作为该操作的副作用,\Seen 关键字会自动设置。您可能正在寻找BODY.PEEK。使用EXAMINE 而不是SELECT 以只读方式打开邮箱也是一个好主意。

    【讨论】:

      猜你喜欢
      • 2017-07-15
      • 2013-04-18
      • 2013-05-10
      • 2018-06-03
      • 2011-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-01
      相关资源
      最近更新 更多