首页 > 编程 > Python > 正文

Python自动发送邮件的脚本源码

2019-11-06 06:37:55
字体:
来源:转载
供稿:网友
#coding=utf8  '''该模块使自动发送邮件的模块模块初始化时需要设置:sender:发送人reciver:接收者smtpServer:发送人的服务器类型passWord:登录命令subject:邮件标题datafile:数据文件文件包含六个函数:senderLogin():连接服务并登录服务setSubject():设置邮件标题SendMessage():邮件发送的信息sendMail():发送邮件quitMail():关闭邮件服务run():执行登录、设置邮件标题、设置邮件发送信息、发送邮件、关闭邮件服务'''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):        #设置发送人        self.sender=sender        #设置登录密码        self.password=password        #设置接收者        self.reciver=reciver        #设置邮件标题        self.subject=subject        #设置附件路径        self.datafile=datafile        #设置发送邮件服务        self.smtpServer=smtpServer        #创建一个smtp实例        self.smtp = smtplib.SMTP()         #设置下发送信息包含的类型的信息体        self.msgRoot =MIMEMultipart('related')         #调用run函数运行        self.run()          #发送用户登录    def senderLogin(self):        #通过smtp实例的connect方法连接发送邮件服务        self.smtp.connect(self.smtpServer)         #通过smtp实例的login方法登录发送邮件服务         self.smtp.login(self.sender,self.password)              def setSubject(self):        #设置邮件标题        self.msgRoot['Subject']=self.subject            def SendMessage(self):        #读取附件信息到att中        att =MIMEText(open( self.datafile, 'rb').read(), 'base64',  'utf8')          #设置att的内容类型        att["Content-Type"]= 'application/octet-stream'          #给附件设置一个文件名        att["Content-Disposition"]= 'attachment; '+'filename='+FileManger().getLastFile()+''        self.msgRoot.attach(att)              def sendMail(self):        #发送邮件        self.smtp.sendmail(self.sender,self.reciver,self.msgRoot .as_string())          def quitMail(self):        #退出邮件服务        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():     #创建一个FileManger实例    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()            完整项目源码下载链接:http://download.csdn.net/download/henni_719/9771946
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表