用Python实现电子邮件接收程序(POP3)
来源:互联网 发布:彩虹6号 淘宝 编辑:程序博客网 时间:2024/06/08 10:20
从网络上摘抄的代码:
import poplib# 输入邮件地址, 口令和POP3服务器地址:email = raw_input('Email: ')password = raw_input('Password: ')pop3_server = raw_input('POP3 server: ')# 连接到POP3服务器:server = poplib.POP3(pop3_server)# 可以打开或关闭调试信息:# server.set_debuglevel(1)# 可选:打印POP3服务器的欢迎文字:print(server.getwelcome())# 身份认证:server.user(email)server.pass_(password)# stat()返回邮件数量和占用空间:print('Messages: %s. Size: %s' % server.stat())# list()返回所有邮件的编号:resp, mails, octets = server.list()# 可以查看返回的列表类似['1 82923', '2 2184', ...]print(mails)# 获取最新一封邮件, 注意索引号从1开始:index = len(mails)resp, lines, octets = server.retr(index)# lines存储了邮件的原始文本的每一行,# 可以获得整个邮件的原始文本:msg_content = '\r\n'.join(lines)# 稍后解析出邮件:msg = Parser().parsestr(msg_content)# 可以根据邮件索引号直接从服务器删除邮件:# server.dele(index)# 关闭连接:server.quit()
接下来一句一句分析:
email = raw_input('Email: ')
效果是屏幕显示“Email:”提示用户进行输入,然后将从键盘读取的输入写入email这个变量中。
raw_input() 是什么?
与input() 类似,但input() 要求输入形式是字符串格式,也就是要用双引号引起来,而raw_input() 不需要。
resp, mails, octets = server.list()
list() 方法返回邮件数量和每个邮件的大小。我猜resp是索引号,mails是邮件内容,octets是??
msg_content = '\r\n'.join(str(lines))
\r\n是windows下的换行符,而.joint( a string ) 的作用是将字符串中每两个字符之间都插入这样的一个换行符。最终一串字符串变成一长列字符串。
for header in ['From', 'To', 'Subject']: value = msg.get(header, '')
-对于第一句,将列表中的三个字符串依次赋给header变量,循环运行语句块内的操作。
-对于第二句,从字典msg中查找“header”所代表的关键字所对应的值赋给value;若没有找到“header”所代表的关键字则返回’ ‘。
阅读全文
0 0
- 用Python实现电子邮件接收程序(POP3)
- 用 C++BUILDER 实现 POP3 电子邮件的接收
- 怎样接收电子邮件(POP3协议简介)
- C#使用POP3接收电子邮件
- 用Visual C#实现POP3邮件接收程序
- 用Visual C#实现POP3邮件接收程序
- 使用POP3协议接收并解析电子邮件(全)
- MailBee.NET Objects接收电子邮件(POP3)教程一:接收简单的电子邮件
- MailBee.NET Objects接收电子邮件(POP3)教程二:接收和显示HTML电子邮件
- 实现POP3邮件接收程序[C#]
- C#实现POP3邮件接收程序
- MailBee.NET Objects接收电子邮件(POP3)教程三:POP3认证
- 怎样接收电子邮件(POP3协议简介)(转载,写的很简洁)
- JavaMail学习笔记(四)、使用POP3协议接收并解析电子邮件(全)
- JavaMail学习笔记(四)、使用POP3协议接收并解析电子邮件
- JavaMail学习笔记(四)使用POP3协议接收并解析电子邮件
- MailBee.NET Objects接收电子邮件(POP3)教程四:访问电子邮件附件
- 编写基于的POP3的电子邮件程序
- 第二次导师培训课
- JavaScript实现随机显示小星星
- [点分树] BZOJ 4372: 烁烁的游戏
- AR之路--artoolkit5让第一个例子运行起来
- 点灯小游戏 平台:VS2015 需要安装图形库EasyX(600K左右)基于C++语言的win32控制台应用程序
- 用Python实现电子邮件接收程序(POP3)
- HDOJ 1022 Train Problem I (堆栈的应用)
- 白帽黑客TK:黑客都是一群什么人?
- 测试报告参考规范之测试工具、风险和应急
- [机器学习:李宏毅]27、Ensemble
- dedecms织梦后台模板layui框架-20171126更新
- PyCharm 下 TVTK 库的安装
- 数据库的简易语句(mysql)
- Seq2Seq Window7 搭建过程中错误解决说明