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的几条建议分享
Feb 10 Python
python与C互相调用的方法详解
Jul 14 Python
Python调用C# Com dll组件实战教程
Oct 12 Python
python去除扩展名的实例讲解
Apr 23 Python
Tensorflow实现AlexNet卷积神经网络及运算时间评测
May 24 Python
python实现画一颗树和一片森林
Jun 25 Python
Python爬取qq空间说说的实例代码
Aug 17 Python
使用python Telnet远程登录执行程序的方法
Jan 26 Python
对Python3 序列解包详解
Feb 16 Python
Python with用法:自动关闭文件进程
Jul 10 Python
如何基于python3和Vue实现AES数据加密
Mar 27 Python
Python爬虫之爬取最新更新的小说网站
May 06 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
Flash空降上海 化身大魔王接受挑战
2020/03/02 星际争霸
PHP4与PHP3中一个不兼容问题的解决方法
2006/10/09 PHP
用PHP函数解决SQL injection
2006/12/09 PHP
PHP图片处理之图片旋转和图片翻转实例
2014/11/19 PHP
Linux中为php配置伪静态
2014/12/17 PHP
PHP使用Pthread实现的多线程操作实例
2015/11/14 PHP
Yii框架中sphinx索引配置方法解析
2016/10/18 PHP
PHP封装XML和JSON格式数据接口操作示例
2019/03/06 PHP
RR vs IO BO3 第二场2.13
2021/03/10 DOTA
用JavaScript获取网页中的js、css、Flash等文件
2006/12/20 Javascript
extjs grid设置某列背景颜色和字体颜色的方法
2010/09/03 Javascript
让复选框只能选择一项的方法
2013/10/08 Javascript
编写js扩展方法判断一个数组中是否包含某个元素
2013/11/08 Javascript
js 验证身份证信息有效性
2014/03/28 Javascript
Javascript排序算法之计数排序的实例
2014/04/05 Javascript
AngularJS 简单应用实例
2016/07/28 Javascript
Three.js学习之文字形状及自定义形状
2016/08/01 Javascript
基于打包工具Webpack进行项目开发实例
2018/05/29 Javascript
jQuery实现购物车的总价计算和总价传值功能
2018/11/28 jQuery
vue仿ios列表左划删除
2019/09/26 Javascript
Python中的对象,方法,类,实例,函数用法分析
2015/01/15 Python
python杀死一个线程的方法
2015/09/06 Python
Flask框架的学习指南之制作简单blog系统
2016/11/20 Python
在cmd中运行.py文件: python的操作步骤
2018/05/12 Python
对python中两种列表元素去重函数性能的比较方法
2018/06/29 Python
python实现列表中最大最小值输出的示例
2019/07/09 Python
python创建学生成绩管理系统
2019/11/22 Python
python3.8下载及安装步骤详解
2020/01/15 Python
Python HTMLTestRunner可视化报告实现过程解析
2020/04/10 Python
解决windows上安装tensorflow时报错,“DLL load failed: 找不到指定的模块”的问题
2020/05/20 Python
Python脚本调试工具安装过程
2021/01/11 Python
Skyscanner英国:苏格兰的全球三大领先航班搜索服务之一
2017/11/09 全球购物
西班牙土拨鼠床垫公司,感觉在云端:Marmota
2019/03/18 全球购物
会计学自荐信
2014/06/03 职场文书
社区综治宣传月活动总结
2014/07/02 职场文书
3招让你摆脱即兴讲话冷场尴尬
2019/08/08 职场文书