我有兴趣在收到特定主题的特定地址的电子邮件时触发某项操作.为了能够这样做,我需要实现对我的邮箱的监控,检查每个传入的邮件(特别是,我使用gmail).最简单的方法是什么?
maz*_*ife 72
Gmail提供了通过POP进行连接的功能,您可以在Gmail设置面板中打开该功能.Python可以很容易地通过POP建立连接:
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()
Run Code Online (Sandbox Code Playgroud)
您只需要将此脚本作为cron作业运行.不知道你在YMMV上的平台是怎么做的.
虽然不是特定于Python的,但我总是喜欢procmail,无论我在哪里安装它......!
只需使用您选择条件的某些操作行| pathtoyourscript(垂直条AKA管道,然后是您希望在这些情况下执行的脚本),并在您选择的条件下将邮件传送到您选择的脚本,为了它做任何想做的事情 - 很难想到一个更通用的方法来"在收到满足你特定条件的邮件时触发你选择的行动!!当然,你可以检查多少条件,如何限制单个条件可以触发的许多动作行(只需将所需的所有动作行括在{ }大括号中)等.
人们似乎对拉姆森感到兴奋:
https://github.com/zedshaw/lamson
它是一个完全用 Python 编写的 SMTP 服务器。我相信您可以利用它来完成您需要的一切 - 只需将 Gmail 消息转发到该 SMTP 服务器,然后执行您想做的事情。
然而,我认为执行上面的 ATOM feed 推荐可能是最简单的。
编辑:拉姆森已被放弃
| 归档时间: |
|
| 查看次数: |
86893 次 |
| 最近记录: |