0

有没有办法计算构成 Gmail 电子邮件链的对话数量?XML 提要只为包含多封电子邮件的电子邮件链返回一个条目。

因此,例如,如果我有 3 封电子邮件由同一个电子邮件地址发送且具有相同的主题行,则这三封电子邮件将全部组合在一起以显示为一封电子邮件,从而使我错误地计数为 1。

我尝试过的事情-

1) 禁用 - 来自电子邮件设置的对话视图

2)使用的 ruby​​ gemgmail确实计算了单个电子邮件,但我不能仅按日期按时间过滤,这对我来说是绝对必须的(因为我会每隔一小时检查一次新电子邮件)

任何人都可以建议一种方法吗?

4

1 回答 1

1

似乎gmail gem被硬编码为仅使用日期。如果你对它进行分叉并进行这些修改,你可能会使其工作。

在 lib/gmail.rb 中,添加一个to_imap_datetime方法:

class Object
  def to_imap_date
    Date.parse(to_s).strftime("%d-%B-%Y")
  end

  def to_imap_datetime
    Time.parse(to_s).strftime("%d-%b-%Y %H:%M %z")
  end
end

在 lib/gmail/mailbox.rb 的emails方法中,将调用从 更改to_imap_dateto_imap_datetime

现在你应该能够做到这一点:

gmail.inbox.count(:after => 1.hour.ago)
于 2012-11-29T22:32:28.127 回答