当前位置: 首页 > 面试题库 >

使用Python检查电子邮件

陆运乾
2023-03-14
问题内容

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


问题答案:

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()

您只需要将此脚本作为cron作业运行即可。不确定您使用的平台如何,YMMV知道如何完成。



 类似资料:
  • 在继续本章之前,有两个方面需要理解。 它们是Check and Fetch 。 在JavaMail中Check电子邮件是我们打开邮箱中的相应文件夹并获取每条消息的过程。 这里我们只检查每条消息的标题,即From, To, subject 。 内容未被阅读。 在JavaMail中Fetch电子邮件是我们打开邮箱中的相应文件夹并获取每条消息的过程。 除了标题,我们还通过识别内容类型来阅读内容。 要使用

  • 问题内容: 我正在编写一个Python脚本来处理Procmail返回的电子邮件。如该问题中所建议,我正在使用以下Procmail配置: 我的process_mail.py脚本正在通过stdin接收电子邮件,如下所示: 我正在尝试以这种方式解析消息: 我想获取诸如“发件人”,“收件人”和“主题”之类的消息字段。但是,消息对象不包含任何这些字段。 我究竟做错了什么? 问题答案: 您必须确保这些行不会意

  • 尝试使用Google云功能和Firebase创建REST身份验证系统。这里的Firebase文档说: 要实现这一点,必须创建一个服务器endpoint,该endpoint接受登录凭据(如用户名和密码),如果凭据有效,则返回一个自定义JWT。 我看到我必须做这样的事情: 但是想知道从登录表单验证电子邮件/密码有效性并获取uid(全部在Cloud Functions中)然后发送到的最佳方法?

  • 问题内容: 有没有一种使用正则表达式检查表单输入的好方法,以确保它是正确的样式电子邮件地址?自昨晚以来一直在搜索,如果它是子域的电子邮件地址,则回答了有关该主题的人们疑问的每个人似乎也有问题。 问题答案: 无关紧要。即使你可以验证该电子邮件地址在语法上是有效的,你仍然需要检查该电子邮件地址是否未键入错误,以及该地址是否确实属于你认为确实有用的人。唯一的方法是向他们发送电子邮件,并让他们单击链接进行

  • 问题内容: 我编写了一个向新闻稿库添加电子邮件的功能。直到我添加了已发送电子邮件的有效性检查,它都可以正常工作。现在,每次我得到“错误的电子邮件”作为回报。有人可以在这里看到任何错误吗?使用的正则表达式为: 并且它是100%有效的(http://gskinner.com/RegExr/),但是我可能使用它是错误的,或者它可能是一些逻辑错误: 问题答案: 这是的一部分,你可能会觉得很有趣:) 因此,

  • 目前,我的代码使用IMAP(imaps)和JavaMail访问我的Gmail收件箱,目的是阅读从最新到最旧发送给我自己的电子邮件,识别哪些电子邮件具有. zip或. xap格式的附件。如果找到,电子邮件的主题会显示出来,并询问我是否要下载附件。 如果我单击否,它会继续搜索。如果我单击是,它会调用createFolder方法来创建一个目录,将附件保存在那里,然后提取它。 问题:我收件箱中最近的一封电