- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试访问POP3电子邮件服务器。我将轮询消息并为每个消息下载附件。我可以成功登录并获取消息,但无法弄清楚如何实际获取附件,稍后我将需要解析该附件。
我想我可以保存到tmp dir直到我处理它。
这是到目前为止我得到的:
pop = poplib.POP3_SSL(server)
pop.user(usr)
pop.pass_(pwd)
f = open(file_dir, 'w')
num_msgs = len(pop.list()[1])
for msg_list in range(num_msgs):
for msg in pop.retr(msg_list+1)[1]:
mail = email.message_from_string(msg)
for part in mail.walk():
f.write(part.get_payload(decode=True))
f.close()
最佳答案
请在下面查看完整的示例。
导入poplib和解析器import poplib
from email import parser
将连接返回到弹出服务器的函数:
def mail_connection(server='pop.mymailserver.com'):
pop_conn = poplib.POP3(server)
pop_conn.user('someuser@server')
pop_conn.pass_('password')
return pop_conn
def fetch_mail(delete_after=False):
pop_conn = mail_connection()
messages = [pop_conn.retr(i) for i in range(1, len(pop_conn.list()[1]) + 1)]
messages = ["\n".join(mssg[1]) for mssg in messages]
messages = [parser.Parser().parsestr(mssg) for mssg in messages]
if delete_after == True:
delete_messages = [pop_conn.dele(i) for i in range(1, len(pop_conn.list()[1]) + 1)]
pop_conn.quit()
return messages
allowed mimetypes
;您可以列出其中的一个,例如:
allowed_mimetypes = ["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"]
def get_attachments():
messages = fetch_mail()
attachments = []
for msg in messages:
for part in msg.walk():
if part.get_content_type() in allowed_mimetypes:
name = part.get_filename()
data = part.get_payload(decode=True)
f = file(name,'wb')
f.write(data)
f.close()
attachments.append(name)
return attachments
关于python-2.7 - python poplib获取附件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6541271/
我想从我的 Gmail 收件箱中获取所有邮件,但我面临两个问题。 它没有得到所有的电子邮件,(根据 stat 函数中的计数) 它收到的电子邮件顺序是随机的。 我不确定是 poplib 还是 gmail
这是代码 import poplib from email import parser pop_conn = poplib.POP3_SSL('pop.gmail.com') pop_conn.use
我编写了一个程序,使用 poplib 读取 Outlook 电子邮件,并仅将过滤后的数据输出到 json 中,然后删除所有电子邮件。但使用我编写的代码,它并没有删除所有电子邮件,而只删除一封电子邮件。
我只需要使用 poplib 从 gmail 收件箱下载电子邮件。不幸的是,我没有看到任何单独选择收件箱的选项,而且 poplib 也给了我来自已发送项目的电子邮件。 如何只从收件箱中选择电子邮件? 我
我正在尝试使用 poplib 搜索电子邮件并仅获取带有附件的电子邮件,我有一些当前代码,但它下载所有电子邮件的速度太慢,有什么方法可以在服务器上搜索电子邮件有附件然后下载吗? def fetch_ma
这是我到目前为止尝试过的: # view and delete e-mail using the POP3 protocol import sys, getpass, poplib, re # cha
我在 Python 3.3 中使用 poplib 从 gmail 帐户获取电子邮件并且一切正常,除了在使用 retr() 方法检索邮件后邮件没有标记为已读,尽管事实上the documentation
我在 Python 3.3 中使用 poplib 从 gmail 帐户获取电子邮件并且一切正常,除了在使用 retr() 方法检索邮件后邮件没有标记为已读,尽管事实上the documentation
我目前正在尝试编写一个脚本来从我的 Gmail 帐户获取消息,但我注意到一个问题。如果 poplib 循环遍历我的收件箱中的一条消息,它将永远不会再循环遍历它。这是我的代码 import poplib
当尝试使用 poplib.POP3_SSL 类时,什么会导致这个奇怪的错误。 Traceback (most recent call last): File "test.py", line 131
最近,在不更改代码/库的情况下,从 hotmail 收件箱读取电子邮件 (poplib.retr) 时,我开始收到 python error_proto: line too long 错误。我使用的是
Python 版本 == 3.5 代码: import getpass, poplib, email Mailbox = poplib.POP3_SSL('pop.googlemail.com', '
不久前,我使用 poplib 库编写了一个 Python 脚本,它从我的 pop3 电子邮件帐户检索消息。现在我想用它从使用 IMAP 的不同邮件服务器检索电子邮件。它运行良好,但只能从收件箱检索邮件
我正在使用 imaplib 和 poplib 执行电子邮件收集,使用 IMAPS 和 POP3S 进行安全连接。但据我所知,这两个库都没有使用 CA 来确认收到的证书的有效性。这是真的吗?如果是,是否
我在网上找到了很多涉及通过 Poplib 下载消息的教程,但没有找到任何解释如何创建新消息的内容。这存在吗? 最佳答案 正如 S.Lott 所说的那样,您需要一些 smtp,但要创建实际的电子邮件,请
我只想使用 poplib 从消息邮件中获取主题: import poplib server ='pop3.live.com' port = 995 login="xxx@outlook.com" pw
我想用 Python 登录我的帐户并让 python 打印我在邮箱中收到的消息。我知道如何连接 import getpass, poplib user = 'my_user_name' Mailbox
我正在编写一个脚本来登录 Hotmail。它要求用户输入密码,如果密码正确,则一切顺利。 如果他们第一次密码错误,则有效密码在后续尝试中将不起作用。 这是我用来让用户输入密码的: import pop
我可以获取电子邮件的主题,但正文始终结果为“无”。尝试按照此link但所有的建议最终都是一样的。正文仍然打印为 NONE。 import poplib from email import parser
大家好,你们能不能帮我重构一下,让它更符合 Python 风格。 import sys import poplib import string import StringIO, rfc822 impo
我是一名优秀的程序员,十分优秀!