【问题标题】:fetch gmail only answered emails仅获取 gmail 已回复的电子邮件
【发布时间】:2014-04-16 11:05:14
【问题描述】:

我只想通过 IMAP 从 Google 邮件中获取已回复的电子邮件。

有一个标志 /Answered 但它似乎不起作用。 为了在 Ruby 上获取邮件,我写了

imap_privider.fetch(1..15, ["BODY[HEADER.FIELDS (SUBJECT)]", "FLAGS"])

我收到了回信(我知道肯定是回信):

#<struct Net::IMAP::FetchData
  seqno=14,
  attr=
   {"FLAGS"=>[:Seen],
    "BODY[HEADER.FIELDS (SUBJECT)]"=>"Subject: RE: salut\r\n\r\n"}>,

我认为在 attr 中应该是 [:Answered]。

那我做错了什么?

【问题讨论】:

    标签: ruby email gmail imap


    【解决方案1】:

    您的消息 14 没有被回答,它是一个答案。查看它回答的消息,您可能会在其中找到\answered 标志。

    请注意,一些/许多客户端不会费心设置\answered 标志。

    另一种方法是检索x-gm-thridenvelope 并查看线程。如果线程仅包含一条消息,则该消息尚未得到答复。如果它包含更多,则最高编号的消息尚未得到答复,您可以认为较早的消息有。

    【讨论】:

    • 感谢您的回答。我将使用 x-gm-thrid 和信封尝试这种方法。但是当我获取所有邮件时,除了 :Flagged 和 :Seen 之外,我没有看到任何标志。你不知道是什么问题?
    • 问题是所涉及的客户端懒得设置\answered。您必须使用 x-gm-thrid hack 或使用 message-id 和 references 字段进行完整的线程分析。
    猜你喜欢
    • 1970-01-01
    • 2018-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多