国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 姚安县| 萨嘎县| 亳州市| 鞍山市| 定南县| 灌阳县| 姜堰市| 深水埗区| 罗甸县| 万安县| 交城县| 壶关县| 安丘市| 揭东县| 洱源县| 吴桥县| 榆中县| 阿瓦提县| 和静县| 石柱| 阿坝县| 乡宁县| 自贡市| 凤城市| 南投县| 扬州市| 东平县| 武陟县| 益阳市| 壤塘县| 济宁市| 涞水县| 翁牛特旗| 柘荣县| 子长县| 昌邑市| 乳山市| 乳山市| 漠河县| 漠河县| 获嘉县|