资源简介
用python+wxpython写的一个邮件收发客户端,原来一直用C++,最近一周学习了Python。这个小作品实现了邮件收发(能很好的解码pop3中文),账户管理(增加,删除,编辑,更换)。显示文件内容用了htmlwindow,对网页邮件也能够很好的显示。发送模块支持中文和附件,有问题的可以发邮件到jianger2005@sina.com或者csdn论坛给我发消息
代码片段和文件信息
#-*- coding:utf_8 -*-
‘‘‘
Created on 2010-8-1
@author: aleac
‘‘‘
import poplib
import email
import email.header
import string
import base64
import email.utils
import cPickle
import wx
class MyMail:
def __init__(selfusr=““pass_=““server=““):
self.address=““
self.stmpaddr=““
self.usr=usr
self.pass_=pass_
self.server=server
self.zhengwen=““
self.mailcount=0
self.filename=““
self.recvall=True
def receiveAll(selfStatusBar):
try:
pop=poplib.POP3(self.server)
pop.user(self.usr)
pop.pass_(self.pass_)
self.mailcountsize=pop.stat()
except:
return False
mailfrom=[]
mailtitle=[]
mailobject=[]
mailtime=[]
maillist=[]
for i in range(1self.mailcount+1):
if self.server==“pop.sina.com“ or self.server==“pop.qq.com“:
count=self.mailcount-i+1
else:
count=i
message=pop.retr(count)[1]
mail=email.message_from_string(string.join(message“\n“))
maillist.append(mail)
subject=email.Header.decode_header(mail[‘subject‘])[0][0]
subcode=email.Header.decode_header(mail[‘subject‘])[0][1]
if subcode==None:
mailtitle.append(subject)
else:
mailtitle.append(unicode(subjectsubcode))
mailfrom.append(email.utils.parseaddr(mail[“From“])[1])
subject=email.Header.decode_header(mail[‘Date‘])[0][0]
if subcode==None:
mailtime.append(subject)
else:
mailtime.append(unicode(subjectsubcode))
self.zhengwen=““
if i>15:
StatusBar.SetStatusText(“(“+str(i)+“/“+str(self.mailcount)+“) mails have been received in the background progress!“2)
self.jiema(mail)
mailobject.append(self.zhengwen)
pop.quit()
f=open(self.filename“w“)
cPickle.dump(self.mailcount f)
cPickle.dump(self.mailcount f)
cPickle.dump(maillist f)
cPickle.dump(mailfrom f)
cPickle.dump(mailtitle f)
cPickle.dump(mailobject f)
cPickle.dump(mailtimef)
f.close()
#wx.MessageBox(“All received succeed!\nThe data is stored in “+self.filename+“.“)
return True
def receiveTop(selfnum):
try:
pop=poplib.POP3(self.server)
pop.user(self.usr)
pop.pass_(self.pass_)
self.mailcountsize=pop.stat()
except:
wx.MessageBox(“connect error!\nPlease make sure your computer has connected \nto the inernet or try in another time“)
mailfrom=[]
mailtitle=[]
mail
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 376 2010-08-01 21:41 amail\.project
文件 425 2010-08-01 21:41 amail\.pydevproject
文件 186 2010-08-02 23:16 amail\.settings\org.eclipse.core.resources.prefs
文件 1371 2010-08-01 12:58 amail\src\ad.html
文件 6989 2010-08-07 00:07 amail\src\amail.py
文件 5561 2010-08-07 00:07 amail\src\amail.pyc
文件 16646 2010-08-07 01:05 amail\src\amailrun.py
文件 2299 2010-08-03 13:10 amail\src\sendDlg.py
文件 3158 2010-08-03 13:10 amail\src\sendDlg.pyc
文件 3087 2010-08-03 12:09 amail\src\sendmail.py
文件 4103 2010-08-03 12:34 amail\src\sendmail.pyc
目录 0 2010-08-08 17:32 amail\.settings
目录 0 2010-08-08 17:43 amail\src
目录 0 2010-08-08 17:32 amail
----------- --------- ---------- ----- ----
44201 14
- 上一篇:C++数据结构分段线性插值
- 下一篇:遗传算法求函数最值(C语言实现)
相关资源
- socket应用三 用C语言编写发送邮件程序
- 预编译好的python3.7+window10下的annoy包
- C语言、Python实现TF-IDF算法
- Windows下配置python_pcl全套资料
- casia语音情感识别SVM分类
- 基于POP3、SMTP协议的MFC实现邮件客户端
- C++ QT SMTP 发送邮件(最新,成功的)
- 邮件发送程序客户端----VC实现
- python37_d.lib
- 基于python实现巴特沃斯低通滤波
- c语言实现的发送邮件
- Python3+Opencv343环境搭建 dll load failed问
- 引导滤波_Cpp_Python.rar
- VS2010C++调用python报错无法打开包括文
- python wordcloud whl包
- linux 下 python调用c或者c++编写的代码使
- python35_d.lib
- 电子邮件收发
- python版本获取百度搜索结果页面的信
- mfc邮箱地址管理系统(c++access)
- 节点大小平衡树(Size Balanced Tree c++和
- pymssql-2.1.4-cp38-cp38-win_amd64.whl
- Python基础教程第3版中英文版+源码_超
- grpc-x86_64-1.27.2-2-any.zip
- 一种多尺度检测的KCF的python实现代码
- visualcppbuildtools_full.exe安装包
- 新编Windows API参考大全全中文、win32
- Microsoft Visual C++ 14.0
- C++ 发送电子邮件附件
- 邮件修改密码读取邮件基本接口实现
评论
共有 条评论