python ftplib,smtplib,poplib学习
2013-09-30 17:21 cmsd 阅读(520) 评论(0) 编辑 收藏 举报一.ftplib
from ftplib import FTP
ftpobj = FTP(IP或域名) #实例化对象
ftpobj.login('username','passwd') ##调用方法登录
ftpobj.pwd() #当前目录
ftpobj.cwd('/') #切换目录
ftpobj.dir([path[,..[,cb]]) #显示path 目录里的内容,可选的参数cb 是一个回调函数,它会被传给retrlines()方法
ftpobj.nlst([path[,..]) #以列表方式显示path内的内容
ftpobj.retrlines(cmd[,cb]) #给定FTP 命令(如“RETR filename”),用于下载文本文件。可选的回调函数cb 用于处理文件的每一行
ftpobj.retrbinary(cmd,cb[,bs=8192[,ra]]) #与retrlines()类似,只是这个指令处理二进制文件。回调函数cb 用于处理每一块(块大小默认为8K)下载的数据。
ftpobj.storlines(cmd, f) #给定FTP 命令(如“STOR filename”),以上传文本文件。要给定一个文件对象f
ftpobj.storbinary(cmd, f[,bs=8192]) #与storlines()类似,只是这个指令处理二进制文件。要给定一个文件对象f,上传块大小bs 默认为8Kbs=8192])
ftpobj.rename(old,new) #重命名
ftpobj.delete(path) #删除文件
ftpobj.mkd(dirname) #创建目录
ftpobj.rmd(dirname) #删除目录
ftpobj.quit() #退出
二.smtplib 发送邮件
from smtplib import SMTP
qqcount = SMTP('smtp.qq.com') #实例化一个对象
qqcount.login('username','password') #认证登录
qqcount.sendmail(frommail,(tomail1,tomail2,...),'''From: frommail\r\nTo:tomail1,tomail2,..\r\nSubject:somestring\r\n\r\ncontents\r\n.''') ##发邮件
如:qqcount.sendmail('my888@qq.com',('my888@qq.com','hello123@163.com','lastimac@gmail.com'),'''From:my888@qq.com\r\nTo:my888@qq.com,hello123@qq.com,lastimac@gmail.com\r\nSubject: test python smtp\r\n\r\n hi,this mail is from python,goodby\r\n.''')
qqcount.quit() ##退出
三.poplib 接收邮件
from poplib import POP3
qqpop = POP3('pop.qq.com') ##实例化一pop3对象
qqpop.user('myqq@qq.com') ##用户名
qqpop.pass_('mypassworld') ##密码
qqpop.stat() ##查看状态,返回邮件数量和总大小的元组
qqpop.list([num]) ##为空返回所有邮件的id和大小的列表,如果有num则显示该id的邮件内容大小
qqpop.retr(num) ##返回(服务器的返回信息,消息msgnum的所有行,消息的字节数) 元组,并将该邮件标为已读
qqpop.dele(num) ##删除该邮件
qqpop.quit() ##退出