标签: poplib

使用Python和poplib获取电子邮件

我想用Python登录我的帐户并使用python打印我在邮箱中收到的邮件.我知道如何连接

import getpass, poplib
user = 'my_user_name' 
Mailbox = poplib.POP3_SSL('pop.googlemail.com', '995') 
Mailbox.user(user) 
Mailbox.pass_('my_password') 
Run Code Online (Sandbox Code Playgroud)

我不知道如何让Python显示我的消息.我尝试了poplib doc中的所有函数.它们只显示数字.

python email poplib

9
推荐指数
2
解决办法
3万
查看次数

Python:仅检索POP3消息文本,没有标题

我正在尝试制作一个Python程序,只检索电子邮件的正文文本而不传递标题或任何其他参数.我不知道该如何解决这个问题.

目标是能够通过消息文本向程序发送基本命令.

我现在拥有的是:

import poplib

host = "pop.gmail.com"
mail = poplib.POP3_SSL(host)
print mail.getwelcome()
print mail.user("user")
print mail.pass_("pass")
print mail.stat()
print mail.list()
print ""

if mail.stat()[1] > 0:
    print "You have new mail."
else:
    print "No new mail."

print ""

numMessages = len(mail.list()[1])
for i in range(numMessages):
    for j in mail.retr(i+1)[1]:
        print j

mail.quit()
input("Press any key to continue.")
Run Code Online (Sandbox Code Playgroud)

哪个都很好,除非执行"print J"时打印整个消息,包括标题.我只想提取正文而不需要任何额外的垃圾.

有人可以帮忙吗?谢谢!

python email text pop3 poplib

6
推荐指数
2
解决办法
1万
查看次数

python poplib获取附件

我正在尝试访问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()
Run Code Online (Sandbox Code Playgroud)

这是我从网上找到的示例中拼凑而成的代码,但没有实际获得附件的可靠示例。我正在写入的文件为空。我在这里想念什么?

poplib python-2.7

6
推荐指数
2
解决办法
5397
查看次数

电子邮件中的尾随等号 (=)

我使用 POP3 从 Gmail 帐户下载邮件并将其保存在 SQLite 数据库中以供进一步处理:

mailbox = poplib.POP3_SSL('pop.gmail.com', '995') 
mailbox.user(user) 
mailbox.pass_(password)

msgnum = mailbox.stat()[0]

for i in range(msgnum):
    msg = '\n'.join(mailbox.retr(i+1)[1])
    save_message(msg, dbmgr)

mailbox.quit()
Run Code Online (Sandbox Code Playgroud)

但是,在数据库中查找时,除了消息正文(有效负载)的最后一行之外,所有行都有尾随等号。你知道为什么会发生这种情况吗?

python email character-encoding poplib quoted-printable

5
推荐指数
1
解决办法
2477
查看次数

Python poplib error_proto:行太长了

最近,在没有更改代码/库的情况下,我error_proto: line too long从hotmail收件箱中读取电子邮件(poplib.retr)时开始出现python 错误.我使用的是Python 2.7.8版.我知道长行可能会导致此错误.但有没有办法绕过这个或我需要的某个版本.感谢您提出的任何建议/指示.

这是一个回溯错误:

"/opt/rh/python27/root/usr/lib64/python2.7/poplib.py", line 232, in retr\n return self._longcmd(\'RETR %s\' % which)\n', 
' File "/opt/rh/python27/root/usr/lib64/python2.7/poplib.py", line 167, in _longcmd\n return self._getlongresp()\n', 
' File "/opt/rh/python27/root/usr/lib64/python2.7/poplib.py", line 152, in _getlongresp\n line, o = self._getline()\n', 
' File "/opt/rh/python27/root/usr/lib64/python2.7/poplib.py", line 377, in _getline\n raise error_proto(\'line too long\')\n', 
'error_proto: line too long\n'
Run Code Online (Sandbox Code Playgroud)

python poplib python-2.7

5
推荐指数
2
解决办法
2380
查看次数

使用 poplib python 获取消息标题(主题)

我只想使用 poplib 从消息邮件中获取主题:

import poplib
server ='pop3.live.com'
port = 995
login="xxx@outlook.com"
pw="xxx"
print "Connecting..."
M = poplib.POP3_SSL(server,port)
print "Connected to "+server
M.user(login)
M.pass_(pw)
print login+" is authenticated."
numMessages = len(M.list()[1])
for i in range(numMessages):
    for j in M.retr(i+1)[1]:
        print j
M.quit()
Run Code Online (Sandbox Code Playgroud)

有什么建议么?提前致谢

python poplib

3
推荐指数
1
解决办法
5606
查看次数

poplib 标记如所见

我使用poplib模块在Python 3.3从Gmail帐户提取邮件,一切运作良好,除了与检索它们之后,该邮件未标记为已读retr()法,尽管该文件说:“检索整个邮件数目其中,并设置它的可见标志。”

这是代码:

pop = poplib.POP3_SSL("pop.gmail.com", "995")
pop.user("recent:mymail@gmail.com")
pop.pass_("mypassword")
numMessages = len(pop.list()[1])
for i in range(numMessages):
    for j in pop.retr(i+1)[1]:
        print(j)
pop.quit()
Run Code Online (Sandbox Code Playgroud)

我做错了什么还是文档在撒谎?(或者,我只是误解了它?)

poplib python-3.x

2
推荐指数
1
解决办法
1480
查看次数