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

首頁 > 編程 > Python > 正文

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

2020-01-04 15:27:06
字體:
來源:轉載
供稿:網友

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

一、發(fā)送郵件

這里實現(xiàn)給網易郵箱發(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()

運行結果

Python,發(fā)送郵件,接收郵件

二、接收郵件

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

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()

運行結果

Python,發(fā)送郵件,接收郵件

 

希望本文所述對大家Python程序設計有所幫助。


注:相關教程知識閱讀請移步到python教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 若尔盖县| 东乡县| 建平县| 邢台市| 加查县| 永定县| 巴东县| 漾濞| 津南区| 垣曲县| 怀仁县| 沈阳市| 昌江| 博客| 治多县| 海宁市| 正镶白旗| 房产| 新兴县| 汉中市| 津南区| 镇江市| 同心县| 共和县| 思茅市| 江安县| 团风县| 鹿邑县| 茂名市| 漾濞| 泰来县| 高淳县| 洪泽县| 潞城市| 佛学| 泽州县| 任丘市| 泽州县| 定襄县| 台中市| 乐都县|