第十二章:email-mailbox:管理email归档-imaplib:IMAP4客户库-连接服务器(认证失败)
13.4.2 连接服务器
要建立与一个IMAP服务器的连接,有2个步骤。首先,建立套接字连接本身。其次,用服务器上的一个账户认证为用户。下面的示例代码会从一个配置文件读取服务器和用户信息。
import imaplib
import configparser
import osdef open_connection(verbose=False):# Read the config file.config = configparser.ConfigParser()config.read([os.path.expanduser('~/.pymotw')])# Connect to the server.hostname = config.get('server','hostname')if verbose:print('Connecting to',hostname)connection = imaplib.IMAP4_SSL(hostname)# Log in to our account.username = config.get('account','username')password = config.get('account','password')if verbose:print('Logging in as',username)connection.login(username,password)return connectionif __name__ == '__main__':with open_connection(verbose=True) as c:print(c)
运行时,open_connection()从用户主目录中的一个文件读取配置信息,然后打开IMAP4_SSL连接并认证客户。
这一节的其他例子还会重用这个模块,以避免重复代码。
13.4.2.1 认证失败
如果建立了连接,但是认证失败,那么便会产生一个异常。
import imaplib
import configparser
import os# Read the config file.
config = configparser.ConfigParser()
config.read([os.path.expanduser('~/.pymotw')])# Connect to the server.
hostname = config.get('server','hostname')
print('Connecting to',hostname)
connection = imaplib.IMAP4_SSL(hostname)# Log in to our account.
username = config.get('account','username')
password = 'this_is_the_wrong_password'
print('Logging in as',username)
try:connecton.login(username,password)
except Exception as err:print('ERROR:',err)
这个例子故意用错误的密码来触发这个异常。
第十二章:email-mailbox:管理email归档-imaplib:IMAP4客户库-连接服务器(认证失败)相关推荐
- 第十二章:email-mailbox:管理email归档-imaplib:IMAP4客户库-邮箱状态
13.4.5 邮箱状态 可以使用status()询问内容的有关合计信息.表13-1列出了标准中定义的状态条件. 状态条件必须被格式化为用空格分隔的字符串,并被包围在括号中--换句话说,使用IMAP4规 ...
- 第十二章:email-mailbox:管理email归档-imaplib:IMAP4客户库-变种
13.4 imaplib:IMAP4客户库 imaplib实现了一个可以与IMAP4服务器通信的客户,IMAP表示internet消息访问协议(Internet Message Access Prot ...
- 第十二章:email-mailbox:管理email归档-imaplib:IMAP4客户库-获取消息
13.4.9 获取消息 使用fetch()方法,可以利用search()返回的标识符获取消息的内容(或部分内容),以便做进一步处理.这个方法有两个参数:要获取的消息ID和所获取消息的(多个)部分.me ...
- IT项目管理总结:第十二章 项目采购管理
第十二章 项目采购管理 项目采购管理的重要性 –外包的好处: A)获得技能和技术 B)降低固定和周期性成本 C)使客户组织集中在自己的核心业务上 D)提供灵活性 E)提高可追责性 –项目采购管理(Pr ...
- 信息系统项目管理师---第十二章 项目采购管理
信息系统项目管理师-第十二章项目采购管理 采购管理过程说明: •规划采购管理:决定采购什么,何时采购.还包括制定采购 SOW,评价标准等 •实施采购.从潜在的供应商处获取适当的信息.报价.投标书或建议 ...
- PMP 考点 第十二章 项目采购管理
PMP 第十二章 项目采购管理 章节 序号 知识点 考点级别 备注 第十二章 项目采购管理 12.1 采购活动的职责和典型步骤.供方选择分析.采购管理计划.采购策略 3 12.2 合同类型.采购文件. ...
- Linux(b站视频兄弟连)自学笔记第十二章——Linux服务管理
Linux(b站视频兄弟连)自学笔记第十二章--Linux服务管理 服务分类 RPM包安装服务的管理 独立服务的管理 基于xinetd 的服务管理 源码包服务管理 服务分类 RPM包安装服务的管理 独 ...
- 《DAMA数据管理知识体系指南》读书笔记-第十二章(元数据管理)
目录 一.前言 二.内容结构 三.主要内容 1.引言 2.活动 3.工具 4.方法 5.实施指南 6.元数据治理 四.思考与总结 一.前言 本文是<DAMA数据管理知识体系指南>第12章的 ...
- 项目管理笔记-第十二章 项目采购管理
1.项目采购管理包括从项目团队外部采购或获取所需产品.服务或成果的各个过程,包括编制和管理协议所需的管理和控制过程,例如:合同.订购单.协议备忘录(MOA).服务水平协议(SLA).被授权采购的可以是 ...
最新文章
- 用按位异或运算符交换两个数,不引入第三个变量
- centos7.1 RabbitMQ安装配置
- 浅析php中的stdClass
- Guice使用入门以及整合Redis
- 智能公交市场的竞争与合作
- 杀毒软件可以查杀所有计算机病毒吗,好的杀毒软件可以查杀任何病毒,对还是错?...
- ChaiNext:过去24小时大盘震荡调整
- c++输出的值精确到小数点后5位_直击灵魂——圆周率小数点后3位到12411亿位到底有啥用?...
- java 同余法产生随机数_线性同余法生成为随机数
- 傅里叶热传导定律【Fourier's Law of Heat Conduction】
- vue 实现图片预览
- Redis -- 数据库常用命令大全
- 刘海洋《LaTex入门》学习笔记3
- ReadyBoost 的应用教程
- 软件测试车载系统,车载软件测试
- 4872: [Shoi2017]分手是祝愿
- js生成相近色颜色RGB代码
- html实现鼠标悬停效果实现
- 辅修计算机编程,求帮忙~计算机C语言的编程题!大学选的辅修课没去过,要考试了不会? 爱问知识人...
- Python matplotlib绘图如何显示中文的问题【有报错没有解决】