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
使用Python操作Elasticsearch数据索引的教程
Apr 08 Python
详解Python中使用base64模块来处理base64编码的方法
Jul 01 Python
django上传图片并生成缩略图方法示例
Dec 11 Python
Python中return self的用法详解
Jul 27 Python
Python从使用线程到使用async/await的深入讲解
Sep 16 Python
python实现石头剪刀布程序
Jan 20 Python
python 将字符串中的数字相加求和的实现
Jul 18 Python
Python 中 -m 的典型用法、原理解析与发展演变
Nov 11 Python
Python实现获取当前目录下文件名代码详解
Mar 10 Python
python检查目录文件权限并修改目录文件权限的操作
Mar 11 Python
使用Python解析Chrome浏览器书签的示例
Nov 13 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用ini_get获取php.ini里变量值的方法
2015/03/04 PHP
php实现汉字验证码和算式验证码的方法
2015/03/07 PHP
php截取指定2个字符之间字符串的方法
2015/04/15 PHP
实现JavaScript中继承的三种方式
2009/10/16 Javascript
javascript学习笔记(七)利用javascript来创建和存储cookie
2011/04/08 Javascript
js操作checkbox遇到的问题解决
2013/06/29 Javascript
node.js中的events.EventEmitter.listenerCount方法使用说明
2014/12/08 Javascript
jQuery解决input超多的表单提交
2015/08/10 Javascript
Jquery 效果使用详解
2015/11/23 Javascript
高效Web开发的10个jQuery代码片段
2016/07/22 Javascript
极力推荐10个短小实用的JavaScript代码段
2016/08/03 Javascript
原生JS实现几个常用DOM操作API实例
2017/01/19 Javascript
jQuery操作css样式
2017/05/15 jQuery
React Native验证码倒计时工具类分享
2017/10/24 Javascript
Python字符串格式化输出方法分析
2016/04/13 Python
python 采集中文乱码问题的完美解决方法
2016/09/27 Python
python中map()函数的使用方法示例
2017/09/29 Python
python+selenium实现163邮箱自动登陆的方法
2017/12/31 Python
python中的json总结
2018/10/11 Python
django数据关系一对多、多对多模型、自关联的建立
2019/07/24 Python
pytorch获取模型某一层参数名及参数值方式
2019/12/30 Python
Python enumerate() 函数如何实现索引功能
2020/06/29 Python
CSS3条纹背景制作的实战攻略
2016/05/31 HTML / CSS
英国领先的办公用品供应商:Viking
2016/08/01 全球购物
PHP开发工程师面试问题集锦
2012/11/01 面试题
do you have any Best Practice for testing
2016/06/04 面试题
通信生自我鉴定
2014/01/18 职场文书
军训 自我鉴定
2014/02/03 职场文书
小学校长竞聘演讲稿
2014/05/16 职场文书
爱国口号
2014/06/19 职场文书
节电标语大全
2014/06/23 职场文书
优秀毕业生找工作自荐信
2014/06/23 职场文书
实习单位指导教师评语
2014/12/30 职场文书
导游词之镇江-金山寺
2019/10/14 职场文书
励志语录:时光飞逝,请学会珍惜所有的人和事
2020/01/16 职场文书
如何在pycharm中快捷安装pip命令(如pygame)
2021/05/31 Python