【问题标题】:Searching "All Mail" including Inbox and Archived Emails using Gmail gem使用 Gmail gem 搜索“所有邮件”,包括收件箱和存档电子邮件
【发布时间】:2012-02-20 19:01:57
【问题描述】:

我正在使用Gmail gem 连接到用户的 Gmail 帐户并搜索电子邮件:

gmail = Gmail.connect('user', 'pass')
results = gmail.inbox.search(:subject => 'insert_keyword_here')

这仅返回收件箱中的项目(标有收件箱),而不是“所有邮件”(也称为“存档电子邮件”)中的项目。

如何搜索“所有邮件”,而不仅仅是收件箱?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 gmail gmail-imap


    【解决方案1】:

    聚会可能有点晚了,但肯定对某人有用...

    如果您需要与语言无关,您应该使用其中一个标签来选择文件夹。以下是查找“所有邮件”文件夹的方法:

    mailbox_all_mail = imap.list('', '*').find{|mb| mb.attr.include?(:All)}
    

    然后是select(或examine)它的名字:

    imap.examine(mailbox_all_mail.name)
    

    这应该可以解决问题。

    【讨论】:

    • 感谢 Mladen,确实很有帮助!
    【解决方案2】:

    使用 Gmail gem:

    gmail = Gmail.connect('user', 'pass')
    results = gmail.mailbox('[Gmail]/All Mail').search(:subject => 'insert_keyword_here')
    

    通用 IMAP,不使用 Gmail gem:

    gmail.login('user','pass')
    gmail.select('[Gmail]/All Mail')
    results = gmail.search(["SUBJECT", "insert_keyword_here"])
    

    奖金投票将授予为非英语语言区域指出明智实用方法的人(因为“所有邮件”会有所不同,例如西班牙语中的“待办事项”)

    【讨论】:

      猜你喜欢
      • 2017-12-21
      • 1970-01-01
      • 2017-12-07
      • 2019-10-24
      • 2012-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多