我正在使用Gmail gem连接到用户的 Gmail 帐户并搜索电子邮件:
gmail = Gmail.connect('user', 'pass')
results = gmail.inbox.search(:subject => 'insert_keyword_here')
这仅返回收件箱中的项目(标有收件箱),而不是“所有邮件”(也称为“归档电子邮件”)中的项目。
如何搜索“所有邮件”,而不仅仅是收件箱?
我正在使用Gmail gem连接到用户的 Gmail 帐户并搜索电子邮件:
gmail = Gmail.connect('user', 'pass')
results = gmail.inbox.search(:subject => 'insert_keyword_here')
这仅返回收件箱中的项目(标有收件箱),而不是“所有邮件”(也称为“归档电子邮件”)中的项目。
如何搜索“所有邮件”,而不仅仅是收件箱?
也许派对有点晚了,但它肯定对某人有用......
如果您需要与语言无关,您应该使用其中一个标签选择文件夹。以下是查找“所有邮件”文件夹的方法:
mailbox_all_mail = imap.list('', '*').find{|mb| mb.attr.include?(:All)}
然后select
(或examine
)它的名字:
imap.examine(mailbox_all_mail.name)
这应该够了吧。
使用 Gmail 宝石:
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"])
奖金投票将授予为非英语语言环境指出聪明实用方法的人(因为“所有邮件”会有所不同,例如西班牙语中的“待办事项”)