raid吾 2018-11-20 08:54 采纳率: 0%
浏览 2367

python3 用POP3收qq邮件,stat获取不到邮件数量,改用list()返回也是空列表

如题,求助。谢谢!
#!/usr/bin/python

-*- coding: UTF-8 -*-

import os, sys, string
import poplib

pop3服务器地址

pop_server_host = "pop.qq.com"

用户名

email_address = "aaaaa@qq.com"

密码

email_password = "bbbbbbb"

端口

pop_server_port = 995

创建一个pop3对象,这个时候实际上已经连接上服务器了

try:
# 连接pop服务器。如果没有使用SSL,将POP3_SSL()改成POP3()即可其他都不需要做改动
email_server = poplib.POP3_SSL(host=pop_server_host, port=pop_server_port, timeout=10)
print("pop3----connect server success, now will check username")
except:
print("pop3----sorry the given email server address connect time out")
exit(1)
try:
# 验证邮箱是否存在
email_server.user(email_address)
print("pop3----username exist, now will check password")
except:
print("pop3----sorry the given email address seem do not exist")
exit(1)
try:
# 验证邮箱密码是否正确
email_server.pass_(email_password)
print("pop3----password correct,now will list email")
except:
print("pop3----sorry the given username seem do not correct")
exit(1)

    # 邮箱中其收到的邮件的数量

email_count = len(email_server.stat())
# 通过retr(index)读取第index封邮件的内容;这里读取最后一封,也即最新收到的那一封邮件
#resp, lines, octets = email_server.retr(email_count)
# lines是邮件内容,列表形式使用join拼成一个byte变量
#email_content = b'\r\n'.join(lines)
# 再将邮件内容由byte转成str类型
#email_content = email_content.decode()
print(email_count)

    # 关闭连接

email_server.close()

  • 写回答

2条回答 默认 最新

  • yanerkouxin 2018-11-20 10:40
    关注

    别用QQ邮箱,换成其他邮箱,如163.com,QQ邮箱的pop协议很奇怪,经常会pop不通,我用163邮箱帮你运行了一遍,
    没有问题,
    老哥,贴代码别直接加中文,用注释的方式,还有把完整格式贴过来,

    评论

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?