#coding=utf8 '''該模塊使自動(dòng)發(fā)送郵件的模塊模塊初始化時(shí)需要設(shè)置:sender:發(fā)送人reciver:接收者smtpServer:發(fā)送人的服務(wù)器類型passWord:登錄命令subject:郵件標(biāo)題datafile:數(shù)據(jù)文件文件包含六個(gè)函數(shù):senderLogin():連接服務(wù)并登錄服務(wù)setSubject():設(shè)置郵件標(biāo)題SendMessage():郵件發(fā)送的信息sendMail():發(fā)送郵件quitMail():關(guān)閉郵件服務(wù)run():執(zhí)行登錄、設(shè)置郵件標(biāo)題、設(shè)置郵件發(fā)送信息、發(fā)送郵件、關(guān)閉郵件服務(wù)'''import smtplib from mangerResultFile import FileManger from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart class AutoMail(object): def __init__(self,sender,reciver,smtpServer, password,subject,datafile): #設(shè)置發(fā)送人 self.sender=sender #設(shè)置登錄密碼 self.password=password #設(shè)置接收者 self.reciver=reciver #設(shè)置郵件標(biāo)題 self.subject=subject #設(shè)置附件路徑 self.datafile=datafile #設(shè)置發(fā)送郵件服務(wù) self.smtpServer=smtpServer #創(chuàng)建一個(gè)smtp實(shí)例 self.smtp = smtplib.SMTP() #設(shè)置下發(fā)送信息包含的類型的信息體 self.msgRoot =MIMEMultipart('related') #調(diào)用run函數(shù)運(yùn)行 self.run() #發(fā)送用戶登錄 def senderLogin(self): #通過smtp實(shí)例的connect方法連接發(fā)送郵件服務(wù) self.smtp.connect(self.smtpServer) #通過smtp實(shí)例的login方法登錄發(fā)送郵件服務(wù) self.smtp.login(self.sender,self.password) def setSubject(self): #設(shè)置郵件標(biāo)題 self.msgRoot['Subject']=self.subject def SendMessage(self): #讀取附件信息到att中 att =MIMEText(open( self.datafile, 'rb').read(), 'base64', 'utf8') #設(shè)置att的內(nèi)容類型 att["Content-Type"]= 'application/octet-stream' #給附件設(shè)置一個(gè)文件名 att["Content-Disposition"]= 'attachment; '+'filename='+FileManger().getLastFile()+'' self.msgRoot.attach(att) def sendMail(self): #發(fā)送郵件 self.smtp.sendmail(self.sender,self.reciver,self.msgRoot .as_string()) def quitMail(self): #退出郵件服務(wù) self.smtp.quit() def run(self): try: self.senderLogin() self.setSubject() self.SendMessage() self.sendMail() self.quitMail() PRint "send success...." except Exception,e: print e def test(): #創(chuàng)建一個(gè)FileManger實(shí)例 fm=FileManger() sender ='wang@163.com' receiver ='e.wang@163.com' smtpserver ='smtp.163.com' password =' ' ject= 'XQL Autom excut project' filpath=fm.getLastFileWithPath() try: AutoMail(sender,receiver,smtpserver,password,ject,filpath) except Exception,e: print eif __name__=="__main__": test() 完整項(xiàng)目源碼下載鏈接:http://download.csdn.net/download/henni_719/9771946
新聞熱點(diǎn)
疑難解答
網(wǎng)友關(guān)注