0

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

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

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

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

4

2 回答 2

2

也许派对有点晚了,但它肯定对某人有用......

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

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

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

imap.examine(mailbox_all_mail.name)

这应该够了吧。

于 2013-04-09T09:28:57.933 回答
1

使用 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"])

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

于 2012-01-31T19:41:21.797 回答