首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用Python检查电子邮件

使用Python检查电子邮件
EN

Stack Overflow用户
提问于 2009-08-04 11:15:47
回答 7查看 98.9K关注 0票数 57

我感兴趣的是在收到来自特定地址的具有特定主题的电子邮件时触发特定的操作。为了能够做到这一点,我需要实现对我的邮箱的监控,检查每一封收到的邮件(特别是我使用gmail)。做到这一点最简单的方法是什么?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-08-05 04:04:04

Gmail提供了通过POP连接的能力,你可以在gmail设置面板中打开它。Python可以很容易地通过POP建立连接:

代码语言:javascript
复制
import poplib
from email import parser

pop_conn = poplib.POP3_SSL('pop.gmail.com')
pop_conn.user('username')
pop_conn.pass_('password')
#Get messages from server:
messages = [pop_conn.retr(i) for i in range(1, len(pop_conn.list()[1]) + 1)]
# Concat message pieces:
messages = ["\n".join(mssg[1]) for mssg in messages]
#Parse message intom an email object:
messages = [parser.Parser().parsestr(mssg) for mssg in messages]
for message in messages:
    print message['subject']
pop_conn.quit()

您只需要将此脚本作为cron作业运行即可。不确定你在什么平台上,所以YMMV是如何做到的。

票数 79
EN

Stack Overflow用户

发布于 2009-08-04 03:18:24

Gmail为新的电子邮件消息提供了一个atom feed。您应该能够通过使用py cURL (或其他一些网库)进行身份验证并下载提要来监视这一点。对每封新邮件发出GET请求都应该将其标记为已读,这样您就不必记录您阅读了哪些电子邮件。

票数 22
EN

Stack Overflow用户

发布于 2009-08-04 04:17:40

虽然不是Python特定的,但我一直喜欢在任何我可以安装它的地方安装procmail…!

只需将其用作您选择的条件的一些操作行| pathtoyourscript (竖线AKA管道,后跟您想要在这些情况下执行的脚本),您的邮件将在您选择的条件下通过管道传输到您选择的脚本,让它做它想做的任何事情--很难想出一种更通用的方法来“在收到满足您特定条件的邮件时触发您选择的操作!!”当然,对于您可以检查的条件数量、单个条件可以触发多少操作行(只需将您想要的所有操作行包含在{ }大括号中)等等,都没有限制。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1225586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档