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 linecache.getline()读取文件中特定一行的脚本
Sep 06 Python
通过数据库向Django模型添加字段的示例
Jul 21 Python
python 使用poster模块进行http方式的文件传输到服务器的方法
Jan 15 Python
python实现贪吃蛇游戏
Mar 21 Python
在python 中split()使用多符号分割的例子
Jul 15 Python
用python解压分析jar包实例
Jan 16 Python
Python Numpy,mask图像的生成详解
Feb 19 Python
python encrypt 实现AES加密的实例详解
Feb 20 Python
Python HTTP下载文件并显示下载进度条功能的实现
Apr 02 Python
python argparse传入布尔参数false不生效的解决
Apr 20 Python
python压包的概念及实例详解
Feb 17 Python
如何使用Python实现一个简易的ORM模型
May 12 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
绿山咖啡和蓝山咖啡
2021/03/04 新手入门
PHP新手上路(三)
2006/10/09 PHP
PHP 分页类(模仿google)-面试题目解答
2009/09/13 PHP
php面向对象全攻略 (十六) 对象的串行化
2009/09/30 PHP
PHP通过引用传递参数用法分析
2016/12/01 PHP
php+redis在实际项目中HTTP 500: Internal Server Error故障排除
2017/02/05 PHP
ext读取两种结构的xml的代码
2008/11/05 Javascript
一些技巧性实用js代码小结
2009/10/14 Javascript
Ext 今日学习总结
2010/09/19 Javascript
JavaScript 放大镜 放大倍率和视窗尺寸
2011/05/09 Javascript
js取消单选按钮选中示例代码
2013/11/14 Javascript
ie 7/8不支持trim的属性的解决方案
2014/05/23 Javascript
JS实现点击按钮后框架内载入不同网页的方法
2015/05/05 Javascript
js操作cookie保存浏览记录的方法
2015/12/25 Javascript
JS实现的幻灯片切换显示效果
2016/09/07 Javascript
Vue.js中组件中的slot实例详解
2017/07/17 Javascript
浅谈react前后端同构渲染
2017/09/20 Javascript
react router4+redux实现路由权限控制的方法
2018/05/03 Javascript
vue删除html内容的标签样式实例
2018/09/13 Javascript
JavaScript中this的学习笔记及用法整理
2020/02/17 Javascript
[01:32]寻找你心中的那团火 DOTA2 TI9火焰传递活动今日开启
2019/05/16 DOTA
python多进程操作实例
2014/11/21 Python
python读取oracle函数返回值
2016/07/18 Python
Python数据分析之双色球统计两个红和蓝球哪组合比例高的方法
2018/02/03 Python
python pickle存储、读取大数据量列表、字典数据的方法
2019/07/07 Python
python3的UnicodeDecodeError解决方法
2019/12/20 Python
详解tensorflow之过拟合问题实战
2020/11/01 Python
pytorch __init__、forward与__call__的用法小结
2021/02/27 Python
英国顶级水晶珠宝零售商之一:Tresor Paris
2019/04/27 全球购物
宝信软件JAVA工程师面试经历
2012/08/19 面试题
表扬稿范文
2015/01/17 职场文书
总经理助理岗位职责
2015/01/31 职场文书
护林员个人总结
2015/03/04 职场文书
失恋33天观后感
2015/06/11 职场文书
大学生心理健康教育心得体会
2016/01/12 职场文书
详解redis分布式锁的这些坑
2021/05/19 Redis