通过unix / linux脚本从gmail下载项目

时间:2012-02-23 19:16:22

标签: python gmail

首先,请注意:我在编程方面是一个完全的业余爱好者,既不知道珍珠也不知道python或java。我需要的是一个简单的命令,可以将我的Gmail帐户中的特定邮件下载到文件中。假设每条消息都有一个唯一的ID。我需要一个访问的脚本 邮箱,并以ID x作为文本文件下载消息,如果有的话 附件,它将它们保存为适当的文件类型(所以pdf 附件将保存为pdf文件)。

例如,这是我可以使用的脚本(我检查它是否有效)

curl -u username:password --silent "https://mail.google.com/mail/feed/atom" | tr -d '\n' | awk -F '<entry>' '{for (i=2; i<=NF; i++) {print $i}}' | sed -n "s/<title>\(.*\)<\/title.*name>\(.*\)<\/name>.*/\2 - \1/p"

用于下载未读邮件列表。当然,我所要求的必须同样简单。有人可以给我代码吗? (注意:我甚至不知道上面的语言是什么。)非常感谢!

1 个答案:

答案 0 :(得分:2)

我建议使用feedparser模块来解析RSS源(可以使用Requests模块获取)。

这将打印未读电子邮件的主题。如果您需要从Feed中提取更多详细信息,请阅读feedparser docs

import feedparser
import requests

feed = requests.get('https://mail.google.com/mail/feed/atom', auth=('yourusername', 'yourpassword'))
emails = feedparser.parse(feed.text.encode('UTF-8'))

for email in emails.entries:
  print email.title

但是,就我所见,gmail的Feed不包含任何附件信息,因此您需要采用不同的方法(可能通过IMAP)。