首页 > 编程 > Python > 正文

python自动发送邮件脚本

2019-11-25 14:30:24
字体:
来源:转载
供稿:网友

本文实例为大家分享了python自动发送邮件的具体代码,供大家参考,具体内容如下

#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 e  if __name__=="__main__":   test() 

完整项目源码下载链接:Python自动发送邮件的脚本源码

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表