写了一个邮箱小程序,功能比较单一,只能实现发邮件,因为收邮件还没写…而且发邮件只能用163邮箱发…比较简陋..传上来算是对自己的一个鼓励吧,毕竟还是写出了点东西出来(笑哭)……界面的截图
import smtplib,email
import tkinter
import tkinter.messagebox
import tkinter.simpledialog
root = tkinter.Tk()
def MenuAbout():
tkinter.messagebox.showinfo("","关于我们")
def Menusend():
chst =email.charset.Charset(input_charset ='utf-8')
name = entry1.get()
if name == "":
tkinter.messagebox.showinfo("","邮件名不可为空! ")
return
receiver = entry1.get()
if receiver == "":
tkinter.messagebox.showinfo("","接受者不可为空! ")
return
Sendername = entry3.get()
if Sendername == "":
tkinter.messagebox.showinfo("","发送者不可为空! ")
return
header = ("from:%s\nTo: %s\nSubject:%s\n\n"
%(Sendername,
receiver,
chst.header_encode(name)))
body = flist.get("0.0",tkinter.END)
if body == "":
tkinter.messagebox.showinfo("","内容不可为空! ")
return
email_con = header.encode('utf-8') +body.encode('utf-8')
smtp =smtplib.SMTP("smtp.163.com")
Sendpwd = entry4.get()
if Sendpwd == "":
tkinter.messagebox.showinfo("","请输入密码! ")
return
try:
smtp.login(Sendername,Sendpwd)
except:
tkinter.messagebox.showinfo("","用户名或密码不正确! ")
return
try:
smtp.sendmail(Sendername,receiver,email_con)
except:
tkinter.messagebox.showinfo("","接受者邮箱不正确! ")
return
smtp.quit()
tkinter.messagebox.showinfo("","发送成功 ")
#创建菜单
menu = tkinter.Menu(root)
submenu = tkinter.Menu(menu,tearoff =0)
submenu.add_command(label ="发送邮件",command= Menusend)
submenu.add_separator()
submenu.add_command(label ="关于..",command = MenuAbout)
menu.add_cascade(label ="邮件系统",menu = submenu)
root.config(menu = menu)
lable1 =tkinter.Label(root,text ="邮件标题:",anchor = tkinter.W)
lable1.place(x =5,y=0)
entry1 =tkinter.Entry(root)
entry1.place(x =65,y =10,anchor =tkinter.W)
lable2 =tkinter.Label(root,text ="接受邮箱:",anchor = tkinter.W)
lable2.place(x =5,y=20)
entry2 =tkinter.Entry(root)
entry2.place(x =65,y =20)
lable3 =tkinter.Label(root,text ="发送者邮箱:",anchor = tkinter.W)
lable3.place(x =220,y=0)
entry3 =tkinter.Entry(root)
entry3.place(x =300,y =10,anchor =tkinter.W)
lable4 =tkinter.Label(root,text ="发送者密码:",anchor = tkinter.W)
lable4.place(x =220,y=20)
entry4 =tkinter.Entry(root,show = "*")
entry4.place(x =300,y =30,anchor =tkinter.W)
button1 = tkinter.Button(root,anchor =tkinter.CENTER,text ="发送",width =8,height = 1,command =Menusend)
button1.place(x =400,y = 350)
flist =tkinter.Text(root)
flist.place(x =50,y =50,width = 400,height = 300)
root.title("邮件系统")
root.maxsize(500,400)
root.minsize(500,400)
if __name__ =="__main__":
root.mainloop()