Python/imaplib - 如何获取消息'标签?

发布于 2024-11-09 21:55:57 字数 233 浏览 2 评论 0原文

我在我的项目中使用 imaplib 因为我需要访问 gmails 帐户。 事实:使用 gmail 的标签,每封邮件都可以位于任意数量的文件夹/框/标签上。

问题是我想从每条消息中获取每个标签。

我想到的第一个解决方案是使用“所有邮件”文件夹来获取所有邮件,然后对于每封邮件,检查该邮件是否位于每个可用文件夹中。

但是,我发现这个解决方案很重,我想知道是否有更好的方法来做到这一点。

谢谢!

I'm using imaplib for my project because I need to access gmails accounts.
Fact: With gmail's labels each message may be on an arbitrary number of folders/boxes/labels.

The problem is that I would like to get every single label from every single message.

The first solution it cames to my mind is to use "All Mail" folder to get all messages and then, for each message, check if that message is in each one of the available folders.

However, I find this solution heavy and I was wondering if there's a better way to do this.

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

还不是爱你 2024-11-16 21:55:57

要获取 gmail 中给定邮件的所有标签,您可以执行以下

t, d = imapconn.uid('FETCH', uid, '(X-GM-LABELS)')
or
t, d = imapconn.fetch(uid, '(X-GM-LABELS)')

操作:您可以在 找到有关 gmail imap 扩展的更多信息http://code.google.com/apis/gmail/imap/

To get all the labels for a given message within gmail you can do the following

t, d = imapconn.uid('FETCH', uid, '(X-GM-LABELS)')
or
t, d = imapconn.fetch(uid, '(X-GM-LABELS)')

BTW: You can find more on gmail imap extensions at http://code.google.com/apis/gmail/imap/

俯瞰星空 2024-11-16 21:55:57

在 imap 中,您没有标签,gmail 在 imap 上“模拟”它们,您可以查看从 imap 中选取的消息的原始来源,检查它是否具有带有标签的自定义标头

in imap you don't have labels, gmail 'emulates' them on imap, you can low at the raw source of a message picked from imap an check if it has some custom header with the label

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文