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的Treq on Twisted来进行HTTP压力测试
Apr 16 Python
Python操作串口的方法
Jun 17 Python
pymongo中group by的操作方法教程
Mar 22 Python
Python微信操控itchat的方法
May 31 Python
python 求定积分和不定积分示例
Nov 20 Python
使用 Python 处理3万多条数据只要几秒钟
Jan 19 Python
浅谈django 模型类使用save()方法的好处与注意事项
Mar 28 Python
详解Python中的路径问题
Sep 02 Python
python re的findall和finditer的区别详解
Nov 15 Python
详解anaconda安装步骤
Nov 23 Python
python实现代码审查自动回复消息
Feb 01 Python
关于python3 opencv 图像二值化的问题(cv2.adaptiveThreshold函数)
Apr 04 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 向访客和爬虫显示不同的内容
2009/11/09 PHP
php数组对百万数据进行排除重复数据的实现代码
2010/06/08 PHP
PHP求小于1000的所有水仙花数的代码
2012/01/10 PHP
php绘制一个矩形的方法
2015/01/24 PHP
php程序内部post数据的方法
2015/03/31 PHP
combox改进版 页面原型参考dojo的,比网上jQuery的那些combox功能强,代码更小
2010/04/15 Javascript
跨浏览器开发经验总结(三)   警惕“IE依赖综合症”
2010/05/13 Javascript
JQUERY1.6 使用方法四 检测浏览器
2011/11/23 Javascript
js中根据字数截取字符串,不能截断url
2012/01/12 Javascript
Javascript 判断是否存在函数的方法
2013/01/03 Javascript
JavaScript实现的简单拖拽效果
2015/06/01 Javascript
通过设置CSS中的position属性来固定层的位置
2015/12/14 Javascript
js父页面中使用子页面的方法
2016/01/09 Javascript
JS中call/apply、arguments、undefined/null方法详解
2016/02/15 Javascript
jquery实现全选功能效果的实现代码
2016/05/05 Javascript
JS正则表达式验证账号、手机号、电话和邮箱是否合法
2017/03/08 Javascript
简单的JS控制button颜色随点击更改的实现方法
2017/04/17 Javascript
jQuery 点击获取验证码按钮及倒计时功能
2018/09/20 jQuery
JQuery特殊效果和链式调用操作示例
2019/05/13 jQuery
在vue中使用echars实现上浮与下钻效果
2019/11/08 Javascript
浅谈Vue 自动化部署打包上线
2020/06/14 Javascript
vue过滤器实现日期格式化的案例分析
2020/07/02 Javascript
js实现点击上传图片并设为模糊背景
2020/08/02 Javascript
python 删除大文件中的某一行(最有效率的方法)
2017/08/19 Python
python中的字典操作及字典函数
2018/01/03 Python
Python3之手动创建迭代器的实例代码
2019/05/22 Python
python提取照片坐标信息的实例代码
2019/08/14 Python
Html5新标签解释及用法
2012/02/17 HTML / CSS
丝芙兰中国官方商城:SEPHORA中国
2018/01/10 全球购物
外企C语言笔试题
2013/11/10 面试题
服务行业个人求职的自我评价
2013/12/12 职场文书
建筑个人求职信范文
2014/01/25 职场文书
运动会领导邀请函
2014/02/05 职场文书
计算机大学生职业生涯规划书范文
2014/02/19 职场文书
教师求职自荐信
2014/03/09 职场文书
倡议书格式范文
2014/04/14 职场文书