我正在使用Gmail gem连接到用户的Gmail帐户并搜索电子邮件:
gmail = Gmail.connect('user', 'pass')
results = gmail.inbox.search(:subject => 'insert_keyword_here')
这仅返回收件箱中的项目(标有收件箱),而不是“所有邮件”中的项目(也称为“存档电子邮件”)。
如何搜索“所有邮件”,而不只是“收件箱”?
答案 0 :(得分:2)
参加聚会可能有点晚了,但对某些人来说肯定会有用......
如果您需要与语言无关,则应使用其中一个标记选择该文件夹。以下是查找“所有邮件”文件夹的方法:
mailbox_all_mail = imap.list('', '*').find{|mb| mb.attr.include?(:All)}
然后select
(或examine
)其名称:
imap.examine(mailbox_all_mail.name)
这应该可以解决问题。
答案 1 :(得分:1)
使用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"])
奖金投票将针对非英语语言环境指出智能实用方法的人(因为'All Mail'会有所不同,例如西班牙语'Todos')