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 re正则表达式模块(Regular Expression)
Jul 16 Python
Python中字典映射类型的学习教程
Aug 20 Python
Python编码爬坑指南(必看)
Jun 10 Python
Linux 下 Python 实现按任意键退出的实现方法
Sep 25 Python
python万年历实现代码 含运行结果
May 20 Python
Python使用修饰器执行函数的参数检查功能示例
Sep 26 Python
对python numpy数组中冒号的使用方法详解
Apr 17 Python
python脚本当作Linux中的服务启动实现方法
Jun 28 Python
Flask框架学习笔记之使用Flask实现表单开发详解
Aug 12 Python
Python 实现数组相减示例
Dec 27 Python
PyQt5中QTableWidget如何弹出菜单的示例代码
Feb 23 Python
python计算列表元素与乘积详情
Aug 05 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/03 冲泡冲煮
php下载文件超时时间的设置方法
2016/10/06 PHP
PHP7内核CGI与FastCGI详解
2019/04/14 PHP
LBS blog sql注射漏洞[All version]-官方已有补丁
2007/08/26 Javascript
php gethostbyname获取域名ip地址函数详解
2010/01/24 Javascript
jQuery在IE下使用未闭合的xml代码创建元素时的Bug介绍
2012/01/10 Javascript
用jQuery获取IE9下拉框默认值问题探讨
2013/07/22 Javascript
Bootstrap表单Form全面解析
2016/06/13 Javascript
基于Turn.js 实现翻书效果实例解析
2016/06/20 Javascript
Bootstrap字体图标无法正常显示的解决方法
2016/10/08 Javascript
Vue2实现组件props双向绑定
2016/12/02 Javascript
AngularJS中$apply方法和$watch方法用法总结
2016/12/13 Javascript
详解10分钟学会vue滚动行为
2017/09/21 Javascript
JS实现的找零张数最小问题示例
2017/11/28 Javascript
jQuery与vue实现拖动验证码功能
2018/01/30 jQuery
使用Vue-cli 3.0搭建Vue项目的方法
2018/06/07 Javascript
angular学习之动态创建表单的方法
2018/12/07 Javascript
javascript触发模拟鼠标点击事件
2019/06/26 Javascript
微信小程序实现手指拖动选项排序
2020/04/22 Javascript
Element DateTimePicker日期时间选择器的使用示例
2020/07/27 Javascript
python基于windows平台锁定键盘输入的方法
2015/03/05 Python
Python3使用requests登录人人影视网站的方法
2016/05/11 Python
pycharm的console输入实现换行的方法
2019/01/16 Python
python实现kNN算法识别手写体数字的示例代码
2019/08/16 Python
PyQT5 实现快捷键复制表格数据的方法示例
2020/06/19 Python
美国床垫和床上用品公司:Nest Bedding
2017/06/12 全球购物
俄罗斯童装网上商店:BebaKids
2020/06/06 全球购物
英国最大的天然和有机产品在线零售商之一:Big Green Smile
2020/05/06 全球购物
数据库设计的包括哪两种,请分别进行说明
2016/07/15 面试题
物流专业大学应届生求职信
2013/11/03 职场文书
学生干部的自我评价分享
2014/01/18 职场文书
校庆接待方案
2014/03/18 职场文书
执法作风整顿剖析材料
2014/10/11 职场文书
2015年电教工作总结
2015/05/26 职场文书
辛德勒的名单观后感
2015/06/03 职场文书
php微信小程序解包过程实例详解
2021/03/31 PHP