非常教程

Python参考手册

网络 | Internet

poplib

源代码: Lib / poplib.py

该模块定义了一个类,POP3它封装到POP3服务器的连接并实现RFC 1725中定义的协议。该POP3级支持的最小和可选命令集。另外,这个模块提供了一个类POP3_SSL,它提供了对连接到使用SSL作为底层协议层的POP3服务器的支持。

请注意,POP3尽管得到广泛支持,但已经过时。POP3服务器的实现质量差异很大,而且太多的差劲。如果您的邮件服务器支持IMAP,那么最好使用imaplib.IMAP4该类,因为IMAP服务器往往会更好地实现。

poplib模块提供了两个类:

class poplib.POP3(host[, port[, timeout]])

这个类实现了实际的POP3协议。连接在实例初始化时创建。如果省略端口,则使用标准的POP3端口(110)。可选的timeout参数指定连接尝试的超时(以秒为单位)(如果未指定,则将使用全局默认超时设置)。

在版本2.6中更改:添加了超时

class poplib.POP3_SSL(host[, port[, keyfile[, certfile]]])

这是POP3通过SSL加密套接字连接到服务器的子类。如果未指定端口 995,则使用标准的POP3-over-SSL端口。keyfilecertfile也是可选的 - 它们可以包含用于SSL连接的PEM格式的私钥和证书链文件。

2.4版本中的新功能。

一个例外被定义为poplib模块的属性:

exception poplib.error_proto

从该模块发出的任何错误都会引发异常(模块发生的错误socket不会被捕获)。异常的原因以字符串形式传递给构造函数。

1. POP3对象

所有的POP3命令都用同名的方法表示,小写; 大多数返回由服务器发送的响应文本。

一个POP3实例有以下方法:

POP3.set_debuglevel(level)

设置实例的调试级别。这将控制打印的调试输出量。缺省值,0不会产生调试输出。一个值1会产生适量的调试输出,通常每个请求只有一行。值2或更高值会产生最大量的调试输出,记录控制连接上发送和接收的每条线路。

POP3.getwelcome()

返回由POP3服务器发送的问候字符串。

POP3.user(username)

发送用户命令,响应应该指示需要密码。

POP3.pass_(password)

发送密码,回复包括邮件数量和邮箱大小。注意:服务器上的邮箱被锁定直到quit()被调用。

POP3.apop(user, secret)

使用更安全的APOP认证登录到POP3服务器。

POP3.rpop(user)

使用RPOP身份验证(类似于UNIX r命令)登录到POP3服务器。

POP3.stat()

获取邮箱状态。结果是一个2个整数的元组:(message count, mailbox size)

POP3.list([which])

请求消息列表,结果在表格中(response, ['mesg_num octets', ...], octets)。如果被设置,它是列出的消息。

POP3.retr(which)

检索整个消息号,其,并设置其可见标志。结果在表格中(response, ['line', ...], octets)

POP3.dele(which)

标志的消息号,其为删除。在大多数服务器上,直到QUIT(主要的例外是Eudora QPOP,它故意通过在任何断开连接上执行挂起删除操作时故意违反RFC),删除操作才会实际执行。

POP3.rset()

删除邮箱的任何删除标记。

POP3.noop()

没做什么。可能被用作保持活力。

POP3.quit()

签署:提交更改,解锁邮箱,删除连接。

POP3.top(which, howmuch)

检索消息首部加上howmuch的消息号的报头之后的消息的线哪个。结果在表格中(response, ['line', ...], octets)

与RETR命令不同,此方法使用的POP3 TOP命令不会设置消息的可见标志; 不幸的是,TOP在RFC中没有详细说明,并且在非品牌服务器中经常被破坏。在信任它之前,手动测试您将使用的POP3服务器。

POP3.uidl([which])

返回消息摘要(唯一标识符)列表。如果指定了哪个,则结果在表单中包含该消息的唯一标识'response mesgnum uid,否则结果为列表(response, ['mesgnum uid', ...], octets)

POP3_SSL没有其他方法的实例。此子类的接口与其父类相同。

2. POP3示例

这是一个最小的例子(没有错误检查),打开邮箱并检索并打印所有消息:

import getpass, poplib

M = poplib.POP3('localhost')
M.user(getpass.getuser())
M.pass_(getpass.getpass())
numMessages = len(M.list()[1])
for i in range(numMessages):
    for j in M.retr(i+1)[1]:
        print j

在模块的最后,有一个测试部分,其中包含更广泛的使用示例。

Python

Python 是一种面向对象的解释型计算机程序设计语言,由荷兰人 Guido van Rossum 于1989年发明,第一个公开发行版发行于1991年。 Python 是纯粹的自由软件, 源代码和解释器 CPython 遵循 GPL 协议。Python 语法简洁清晰,特色之一是强制用空白符( white space )作为语句缩进。

主页 https://www.python.org/
源码 https://github.com/python/cpython
版本 2.7
发布版本 2.7.13

Python目录

1.内置常量 | Built-in Constants
2.内置例外 | Built-in Exceptions
3.内置函数 | Built-in Functions
4.内置类型 | Built-in Types
5.编译器 | Compiler
6.加密 | Cryptography
7.数据压缩 | Data Compression
8.数据持久性 | Data Persistence
9.数据类型 | Data Types
10.调试和分析 | Debugging & Profiling
11.开发工具 | Development Tools
12.文件和目录访问 | File & Directory Access
13.文件格式 | File Formats
14.构架 | Frameworks
15.输入 | Importing
16.输入/输出 | Input/ouput
17.国际化 | Internationalization
18.网络 | Internet
19.网络数据 | Internet Data
20.翻译 | Interpreters
21.语言 | Language
22.记录 | Logging
23.Mac OS
24.MS Windows
25.多媒体 | Multimedia
26.联网 | Networking
27.数字与数学 | Numeric & Mathematical
28.操作系统 | Operating System
29.可选操作系统 | Optional Operating System
30.限制执行 | Restricted Execution
31.运行 | Runtime
32.SGI IRIX
33.软件包装与分销 | Software Packaging & Distribution
34.字符串 | String
35.结构化标记 | Structured Markup
36.Tk
37.Unix
38.Python 简介
39.Python pass 语句
40.Python 循环嵌套
41.Python 运算符
42.Python log10() 函数
43.Python log() 函数
44.Python floor() 函数
45.Python fabs() 函数
46.Python exp() 函数
47.Python cmp() 函数
48.Python ceil() 函数
49.Python abs() 函数
50.Python Number(数字)
51.Python pow() 函数
52.Python modf() 函数
53.Python min() 函数
54.Python max() 函数
55.Python asin() 函数
56.Python acos() 函数
57.Python uniform() 函数
58.Python shuffle() 函数
59.Python seed() 函数
60.Python random() 函数
61.Python randrange() 函数
62.Python choice() 函数
63.Python sqrt() 函数
64.Python round() 函数
65.Python radians() 函数
66.Python degrees() 函数
67.Python tan() 函数
68.Python sin() 函数
69.Python hypot() 函数
70.Python cos() 函数
71.Python atan2() 函数
72.Python atan() 函数
73.Python 元组
74.Python 列表(List)
75.Python 字符串
76.Python 字典(Dictionary)
77.Python 日期和时间
78.Python 函数
79.Python 模块
80.Python capitalize()方法
81.Python center()方法
82.Python count() 方法
83.Python expandtabs()方法
84.Python endswith()方法
85.Python encode()方法
86.Python decode()方法
87.Python find()方法
88.Python index()方法
89.Python 异常处理
90.Python isspace()方法
91.Python isnumeric()方法
92.Python islower()方法
93.Python isdigit()方法
94.Python isalpha()方法
95.Python isalnum()方法
96.Python isupper()方法
97.Python istitle()方法
98.Python min()方法
99.Python max()方法
100.Python maketrans()方法