12

可能重复:
通过 MAPI 使用 Python 从 Outlook 读取电子邮件

我对 Python 完全陌生,并且被赋予了编写一个连接到我的 Microsoft Outlook 邮箱的程序的任务,通过所有电子邮件,如果主题有某个单词,那么电子邮件时间和主题的详细信息将被保存在变量中,以及电子邮件消息正文将被解析并将相关信息存储在变量中。然后此信息将存储在外部服务器/数据库中。它还需要能够监控进入我邮箱的任何新电子邮件,并重复检查主题行并采取适当措施的练习。

我之前使用 Interop 库在 C# 中编写了完全相同类型的程序,但现在需要在 Python 中执行此操作。我可以通过稍后阅读模块文档来弄清楚细节,但从高层次的角度来看,我应该使用哪些模块。我一直在做研究,其中提到的一些模块包括电子邮件、procmail 和 imaplib,但是这里的 Python 资深人士对我正在超越的那种项目有什么建议?

提前感谢您提供的任何帮助!

4

1 回答 1

14

在我工作的一家公司,我们有一个邮箱用于向包含“成人”材料的网站提供建议,还有一个邮箱用于发送应该被阻止的垃圾邮件。一旦我开始工作,我就“负责”这些“优雅”的工作。检查一下,有 2000 封未读邮件要阻止,还有 4000 封垃圾邮件要阻止。当然,这是一个需要自动化的功能,我为自己寻找了一个好的解决方案。我做了什么:

[1] 使用 python IMAP 连接到 Exchange 服务器 [2] 使用 beatifulsoup (python) 解析电子邮件中的 href 值 [3] 之后发送电子邮件“感谢”用户的协作(非常重要)

三天后,我的老板感谢了我的巨大努力,我回复了所有的电子邮件并得到了称赞。因为现在我们正在回复客户。(不是我的剧本)

好的。现在让我们做一个计划

  1. 检查 imap python 模块 [1],然后使用 ssl imap4 [4] 学习一个教程
  2. 决定什么最适合您的问题?下载电子邮件 (pop3) 或在服务器 (IMAP) 上搜索和浏览。
  3. 检查您是否可以使用 IMAP4 或 POP3 协议进行连接之前,交换在这部分有错误,请也检查此错误报告 [3]
  4. 好的,您确定可以使用 IMAP4 或 POP3 进行连接,现在获取一条消息并使用 beatiful soup 或 lxml 解析它。(我的情况是我寻找 href 和 'mailto:')
  5. 使用字段“发件人:”发送一个很好的消息,使其成为个人的电子邮件
  6. 利润

[1] google it imap python

[2] google it BeautifulSoup python

[3] http://support.microsoft.com/kb/296387

[4] http://yuji.wordpress.com/2011/06/22/python-imaplib-imap-example-with-gmail/

抱歉,由于我的分数低,我不得不提供谷歌网址。

我希望这个答案能为您的解决方案提供一些好的指导。当然,您可以使用 lxml 使其更 hax0r,将数据发送到数据库。但是在您连接并开始操作之后,您可以做任何事情:)

于 2012-09-09T19:33:17.803 回答