python自动发送邮件脚本


Posted in Python onJune 20, 2018

本文实例为大家分享了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实现对比不同字体中的同一字符的显示效果
Apr 23 Python
使用Python的Flask框架构建大型Web应用程序的结构示例
Jun 04 Python
Python正则表达式教程之三:贪婪/非贪婪特性
Mar 02 Python
python 垃圾收集机制的实例详解
Aug 20 Python
python高效过滤出文件夹下指定文件名结尾的文件实例
Oct 21 Python
Python实现求两个数组交集的方法示例
Feb 23 Python
python之yield和Generator深入解析
Sep 18 Python
python 队列基本定义与使用方法【初始化、赋值、判断等】
Oct 24 Python
Django框架教程之中间件MiddleWare浅析
Dec 29 Python
对Pytorch中Tensor的各种池化操作解析
Jan 03 Python
Pytorch 实现sobel算子的卷积操作详解
Jan 10 Python
python爬虫用request库处理cookie的实例讲解
Feb 20 Python
Python使用numpy模块创建数组操作示例
Jun 20 #Python
python实现自动发送邮件
Jun 20 #Python
Django实现登录随机验证码的示例代码
Jun 20 #Python
python实现Windows电脑定时关机
Jun 20 #Python
python通过微信发送邮件实现电脑关机
Jun 20 #Python
python定时关机小脚本
Jun 20 #Python
Django + Uwsgi + Nginx 实现生产环境部署的方法
Jun 20 #Python
You might like
理解和运用PHP中的多态性[译]
2011/08/02 PHP
如何在symfony中导出为CSV文件中的数据
2011/10/06 PHP
详解PHP归并排序的实现
2016/10/18 PHP
php将服务端的文件读出来显示在web页面实例
2016/10/31 PHP
ThinkPHP5.0框架控制器继承基类和自定义类示例
2018/05/25 PHP
PHP htmlspecialchars()函数用法与实例讲解
2019/03/08 PHP
jQuery入门知识简介
2010/03/04 Javascript
JavaScript中的apply()方法和call()方法使用介绍
2012/07/25 Javascript
javascript高级程序设计第二版第十二章事件要点总结(常用的跨浏览器检测方法)
2012/08/22 Javascript
javaScript NameSpace 简单说明介绍
2013/07/18 Javascript
Javascript闭包实例详解
2015/11/29 Javascript
jQuery获取checkbox选中的值
2016/01/28 Javascript
Windows系统下安装Node.js的步骤图文详解
2016/11/15 Javascript
jQuery 1.9版本以上的浏览器判断方法代码分享
2017/08/28 jQuery
JS中Attr的用法详解
2017/10/09 Javascript
详解JavaScript 中 if / if...else...替换方式
2018/07/15 Javascript
Vue.js暴露方法给WebView的使用操作
2020/09/07 Javascript
Vue自定义多选组件使用详解
2020/09/08 Javascript
[51:17]VGJ.T vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python的math模块中的常用数学函数整理
2016/02/04 Python
python中的lambda表达式用法详解
2016/06/22 Python
Python中datetime模块参考手册
2017/01/13 Python
python 编码规范整理
2018/05/05 Python
python SVM 线性分类模型的实现
2019/07/19 Python
浅析Windows 嵌入python解释器的过程
2019/07/26 Python
浅析python中的del用法
2020/09/02 Python
市场营销大学生职业规划书
2014/02/25 职场文书
数学兴趣小组活动总结
2014/07/08 职场文书
关于九一八事变的演讲稿2014
2014/09/17 职场文书
KTV门卫岗位职责
2014/10/09 职场文书
2014年后勤工作总结
2014/11/18 职场文书
婚礼庆典答谢词
2015/01/20 职场文书
2015年健康教育工作总结
2015/04/10 职场文书
幼儿园校车安全责任书
2015/05/08 职场文书
迎新生欢迎词2015
2015/07/16 职场文书
房屋转让协议书(标准范本)
2016/03/21 职场文书