python

超轻量级php框架startmvc

python自动发送邮件脚本

更新时间:2020-06-06 23:12:01 作者:startmvc
本文实例为大家分享了python自动发送邮件的具体代码,供大家参考,具体内容如下#coding=utf8

本文实例为大家分享了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自动发送邮件的脚本源码

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

python自动发送邮件脚本 python自动发送邮件 python发送邮件脚本 python发送邮件