python读取pop3服务器邮件并且下载
# -*- coding: cp936 -*-
import poplib
import random
import os def getmail(): # 蒋辉文拥有该程序权利 你可以随意使用
emailServer = poplib.POP3('pop.163.com')
emailServer.user('xxxxxxxxxxxxxx')
emailServer.pass_('xxxxxxxxxxxxxx')
# 设置为1,可查看向pop3服务器提交了什么命令
#emailServer.set_debuglevel(1) # 获取欢迎消息
serverWelcome = emailServer.getwelcome()
#print serverWelcome # 获取一些统计信息
emailMsgNum, emailSize = emailServer.stat()
#print 'email number is %d and size is %d'%(emailMsgNum, emailSize) #判断没有文件夹,则创建目标文件夹
if not os.path.exists("POP3"):
print "分析到目录没有POP3文件夹,程序正在自动创建......."
os.mkdir("POP3") # 遍历邮件,并打印出每封邮件的标题
for i in range(emailMsgNum):
#生成目标文件
name="POP3\\pop3mail_"+str(random.randint(1,100000000))+".eml";
file_object = open(name,'w')
content=''
for piece in emailServer.retr(i+1)[1]:
content+=piece
content+='\r\n'
#写入eml
file_object.write(str(content))
file_object.close( )
emailServer.quit()
print "正在下载邮件....请耐心等待....."
getmail()
print "....下载完成....."
错误检测(增加了异常检测模块)
# -*- coding: cp936 -*-
import poplib
import random
import os def getmail(): # 蒋辉文拥有该程序权利 你可以随意使用
try:
emailServer = poplib.POP3('pop.163.com')
emailServer.user('xxxxxxxx')
emailServer.pass_('xxxxxxx')
# 设置为1,可查看向pop3服务器提交了什么命令
#emailServer.set_debuglevel(1)
# 获取欢迎消息
serverWelcome = emailServer.getwelcome() # 获取一些统计信息
emailMsgNum, emailSize = emailServer.stat() #判断没有文件夹,则创建目标文件夹
if not os.path.exists("POP3"):
print "分析到目录没有POP3文件夹,程序正在自动创建......."
os.mkdir("POP3") print "正在下载邮件...."
# 遍历邮件,并打印出每封邮件的标题
for i in range(emailMsgNum):
#生成目标文件
name="POP3\\pop3mail_"+str(random.randint(1,100000000))+".eml";
file_object = open(name,'w')
content=''
for piece in emailServer.retr(i+1)[1]:
content+=piece
content+='\r\n'
#写入eml
file_object.write(str(content))
file_object.close( )
emailServer.quit() #程序执行成功
print "....下载完成....." except poplib.error_proto,e:
print "用户名或密码错误!请重新输入"
print "正在下载邮件....请耐心等待....."
getmail()
这个是本人在开发公司的一个项目中的一部分,觉得还不错,就贴出来供大家使用
程序从pop3服务器中下载邮件到程序当前目录下的POP3文件夹,如果不存在POP3文件夹,程序自动创建。
需要提供POP3协议的服务器IP,用户名(即完整邮箱地址),密码
经过PYTHON2.7测试成功。
有问题加QQ2586900741
python读取pop3服务器邮件并且下载的更多相关文章
- python 读取Linux服务器上的文件
使用Python语句,读取Linux远端服务器上的文件打印到控制台的代码实现: 下载包:paramiko import paramiko #服务器信息,主机名(IP地址).端口号.用户名及密码 hos ...
- python 利用pop3接收邮件并保存附件
def SaveAttach():# login the pop3 server ,retrive the new mails ,and download the attachments dstdir ...
- 五十七 POP3收取邮件
SMTP用于发送邮件,如果要收取邮件呢? 收取邮件就是编写一个MUA作为客户端,从MDA把邮件获取到用户的电脑或者手机上.收取邮件最常用的协议是POP协议,目前版本号是3,俗称POP3. Python ...
- SMTP协议及POP3协议-邮件发送和接收原理(转)
本文转自https://blog.csdn.net/qq_15646957/article/details/52544099 感谢作者 一. 邮件开发涉及到的一些基本概念 1.1.邮件服务器和电子邮箱 ...
- Python学习笔记(四十八)POP3收取邮件
收取邮件就是编写一个MUA作为客户端,从MDA把邮件获取到用户的电脑或者手机上.收取邮件最常用的协议是POP协议,目前版本号是3,俗称POP3. Python内置一个poplib模块,实现了POP3协 ...
- 使用C#和OpenPop.dll开发读取POP3邮件程序
制作一个ASP.NET MVC4论坛项目,该项目需要将以往十多年的Mail List(邮件列表)内容都导入到新的论坛中,因此需要能够将邮件的标题.发布时间.发布人及邮件内容导入到论坛的数据库内..Ne ...
- 服务器文档下载zip格式 SQL Server SQL分页查询 C#过滤html标签 EF 延时加载与死锁 在JS方法中返回多个值的三种方法(转载) IEnumerable,ICollection,IList接口问题 不吹不擂,你想要的Python面试都在这里了【315+道题】 基于mvc三层架构和ajax技术实现最简单的文件上传 事件管理
服务器文档下载zip格式 刚好这次项目中遇到了这个东西,就来弄一下,挺简单的,但是前台调用的时候弄错了,浪费了大半天的时间,本人也是菜鸟一枚.开始吧.(MVC的) @using Rattan.Co ...
- [源码]Python简易http服务器(内网渗透大文件传输含下载命令)
Python简易http服务器源码 import SimpleHTTPServerimport SocketServerimport sysPORT = 80if len(sys.argv) != 2 ...
- 常用邮件SMTP POP3服务器地址大全
#阿里云邮箱(mail.aliyun.com): POP3服务器地址:pop3.aliyun.com(SSL加密端口:995:非加密端口:110) SMTP服务器地址:smtp.aliyun.com( ...
随机推荐
- Eclipse注释配置
新的文件/** * @ClassName: ${type_name} * @Description: ${todo} * @author ${user} * @date ${date} ${time ...
- 使用copy函数输出容器中的内容
container<type> c; 输出语句为:copy(c.begin(), c.end(), ostream_iterator<type>(cout, " &q ...
- Jquery.Ajax的使用方法
1.Get $('.manager_republish.notVIP').click(function () { $.ajax({ async: false, type: "get" ...
- laravel phpstorm IDE 代码提示
第一步:在项目的composer.json中添加如下一行 "require": { "laravel/framework": "5.0.*" ...
- ubuntu16.04 qt opencv3.4
#------------------------------------------------- # # Project created by QtCreator 2018-12-12T14:53 ...
- 关于新建XIB去关联控制器,报错- the view outlet was not set
凡事必勤,切勿眼高手低.这是我对于自己惰性的又一次的自我认识与批评.以前遇见而又解决的问题,当时没有记录,以为都是小CASE,直到积累了广泛的问题和技能,遇见了相同的问题,而又忘记了,又一次认识到笔记 ...
- Zookeeper使用--Java API
1 创建节点 创建节点有异步和同步两种方式.无论是异步或者同步,Zookeeper都不支持递归调用,即无法在父节点不存在的情况下创建一个子节点,如在/zk-ephemeral节点不存在的情况下创建/ ...
- LIS和LCS LCIS
首先介绍一下LIS和LCS的DP解法O(N^2) LCS:两个有序序列a和b,求他们公共子序列的最大长度 我们定义一个数组DP[i][j],表示的是a的前i项和b的前j项的最大公共子序列的长度,那么由 ...
- ethtool -p eth0 物理口一个灯在不停的闪烁
摘自:https://blog.csdn.net/morigejile/article/details/78598645 你的 服务器有多个网卡并且已经配置好运行当中,你却没记得eth0.eth1. ...
- 44个javascript 变态题解析
原题来自: javascript-puzzlers 读者可以先去做一下感受感受. 当初笔者的成绩是 21/44… 当初笔者做这套题的时候不仅怀疑智商, 连人生都开始怀疑了…. 不过, 对于基础知识的理 ...