国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python實現(xiàn)發(fā)送與接收郵件的方法詳解

2020-02-22 23:34:10
字體:
供稿:網(wǎng)友

本文實例講述了Python實現(xiàn)發(fā)送與接收郵件的方法。分享給大家供大家參考,具體如下:

一、發(fā)送郵件

這里實現(xiàn)給網(wǎng)易郵箱發(fā)送郵件功能:

import smtplibimport tkinterclass Window:  def __init__(self,root):    label1 = tkinter.Label(root,text='SMTP')    label2 = tkinter.Label(root,text='Port')    label3 = tkinter.Label(root,text='用戶名')    label4 = tkinter.Label(root,text='密碼')    label5 = tkinter.Label(root,text='收件人')    label6 = tkinter.Label(root,text='主題')    label7 = tkinter.Label(root,text='發(fā)件人')    label1.place(x=5,y=5)    label2.place(x=5,y=30)    label3.place(x=5,y=55)    label4.place(x=5,y=80)    label5.place(x=5,y=105)    label6.place(x=5,y=130)    label7.place(x=5,y=155)    self.entryPop = tkinter.Entry(root)    self.entryPort = tkinter.Entry(root)    self.entryUser = tkinter.Entry(root)    self.entryPass = tkinter.Entry(root,show = '*')    self.entryTo = tkinter.Entry(root)    self.entrySub = tkinter.Entry(root)    self.entryFrom = tkinter.Entry(root)    self.entryPort.insert(tkinter.END,'25')    self.entryPop.place(x=50,y=5)    self.entryPort.place(x=50,y=30)    self.entryUser.place(x=50,y=55)    self.entryPass.place(x=50,y=80)    self.entryTo.place(x=50,y=105)    self.entrySub.place(x=50,y=130)    self.entryFrom.place(x=50,y=155)    self.get = tkinter.Button(root,text='發(fā)送郵件',command = self.Get)    self.get.place(x=60,y=180)    self.text=tkinter.Text(root)    self.text.place(y=220)  def Get(self):    try:      host = self.entryPop.get()      port =int(self.entryPort.get())      user = self.entryUser.get()      pw = self.entryPass.get()      fromaddr = self.entryFrom.get()      toaddr=self.entryTo.get()      subject=self.entrySub.get()      text = self.text.get(1.0,tkinter.END)      msg =("From:%s/nTo:%s/nSubject:%s/n/n"         % (fromaddr,toaddr,subject))      msg = msg+text      smtp=smtplib.SMTP(host,port)      smtp.set_debuglevel(1)      smtp.login(user,pw)      smtp.sendmail(fromaddr,toaddr,msg)      smtp.quit()    except Exception as e:      self.text.insert(tkinter.END,'發(fā)送錯誤/n')root =tkinter.Tk()window=Window(root)root.minsize(600,400)root.mainloop()

運行結(jié)果

二、接收郵件

這里實現(xiàn)從網(wǎng)易POP3服務(wù)器接收郵件:

import poplibimport reimport tkinterclass Window:  def __init__(self,root):    label1 = tkinter.Label(root,text='POP3')    label2 = tkinter.Label(root,text='Port')    label3 = tkinter.Label(root,text='用戶名')    label4 = tkinter.Label(root,text='密碼')    label1.place(x=5,y=5)    label2.place(x=5,y=30)    label3.place(x=5,y=55)    label4.place(x=5,y=80)    self.entryPop = tkinter.Entry(root)    self.entryPort = tkinter.Entry(root)    self.entryUser = tkinter.Entry(root)    self.entryPass = tkinter.Entry(root,show = '*')    self.entryPort.insert(tkinter.END,'110')    self.entryPop.place(x=50,y=5)    self.entryPort.place(x=50,y=30)    self.entryUser.place(x=50,y=55)    self.entryPass.place(x=50,y=80)    self.get = tkinter.Button(root,text='收取郵件',command = self.Get)    self.get.place(x=60,y=120)    self.text=tkinter.Text(root)    self.text.place(y=150)  def Get(self):    try:      host = self.entryPop.get()      port =int(self.entryPort.get())      user = self.entryUser.get()      pw = self.entryPass.get()      pop=poplib.POP3(host)      pop.user(user)      pop.pass_(pw)      stat=pop.stat()      self.text.insert(tkinter.END,'Staus:%d message(s),%d bytes/n' % stat)      rx_headers = re.compile(r"^(From|To|Subject)")      for n in range(stat[0]):        response,lines,bytes = pop.top(n+1,10)        self.text.insert(tkinter.END,"Message %d (%d bytes)/n" % (n+1,bytes))        self.text.insert(tkinter.END,"-"*30+'/n')        str_lines=[]        for l in lines:          str_lines.append(l.decode(encoding = 'utf-8'))        self.text.insert(tkinter.END,"/n".join(filter(rx_headers.match,str_lines)))        self.text.insert(tkinter.END,'/n')        self.text.insert(tkinter.END,"-"*30+'/n')    except Exception as e:        self.text.insert(tkinter.END,'接收錯誤/n')root =tkinter.Tk()window=Window(root)root.mainloop()            
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 江油市| 鸡东县| 鄂托克前旗| 武冈市| 龙川县| 玉环县| 南宫市| 汽车| 克什克腾旗| 兰坪| 潼南县| 电白县| 广德县| 土默特右旗| 临城县| 体育| 满城县| 会同县| 清远市| 靖西县| 苗栗市| 无锡市| 利辛县| 潢川县| 安陆市| 上高县| 本溪市| 清原| 纳雍县| 贵溪市| 克拉玛依市| 镇巴县| 信丰县| 陵水| 太白县| 桦甸市| 蚌埠市| 上林县| 布拖县| 舟曲县| 丽江市|