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 07 Python
python实现斐波那契递归函数的方法
Sep 08 Python
python编程开发之日期操作实例分析
Nov 13 Python
Django中Forms的使用代码解析
Feb 10 Python
python表格存取的方法
Mar 07 Python
python散点图实例之随机漫步
Aug 27 Python
Python面向对象程序设计构造函数和析构函数用法分析
Apr 12 Python
python自制包并用pip免提交到pypi仅安装到本机【推荐】
Jun 03 Python
python根据文本生成词云图代码实例
Nov 15 Python
Python数据持久化存储实现方法分析
Dec 21 Python
Python面向对象程序设计之继承、多态原理与用法详解
Mar 23 Python
python神经网络ResNet50模型
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
解决PhpMyAdmin中导入2M以上大文件限制的方法分享
2014/06/06 PHP
php版微信返回用户text输入的方法
2016/11/14 PHP
简短几句 通俗解释javascript的闭包
2011/01/17 Javascript
Javascript生成json的函数代码(可以用php的json_decode解码)
2012/06/11 Javascript
Nodejs中自定义事件实例
2014/06/20 NodeJs
js读取并解析JSON类型数据的方法
2015/11/14 Javascript
jQuery实现6位数字密码输入框
2016/12/29 Javascript
利用npm 安装删除模块的方法
2018/05/15 Javascript
antd配置config-overrides.js文件的操作
2020/10/31 Javascript
[03:38]TI4西雅图DOTA2前线报道 71专访
2014/07/08 DOTA
[56:35]DOTA2上海特级锦标赛C组小组赛#1 OG VS Archon第二局
2016/02/27 DOTA
Python导入模块时遇到的错误分析
2017/08/30 Python
Python3.6简单的操作Mysql数据库的三个实例
2018/10/17 Python
pycharm配置pyqt5-tools开发环境的方法步骤
2019/02/11 Python
探秘TensorFlow 和 NumPy 的 Broadcasting 机制
2020/03/13 Python
如何在windows下安装Pycham2020软件(方法步骤详解)
2020/05/03 Python
pycharm如何使用anaconda中的各种包(操作步骤)
2020/07/31 Python
详解前端HTML5几种存储方式的总结
2016/12/27 HTML / CSS
ECCO爱步美国官网:来自丹麦的鞋履品牌
2016/11/23 全球购物
巴西电子产品购物网站:Saldão da Informática
2018/01/09 全球购物
巴黎一票通:The Paris Pass
2018/02/10 全球购物
Shell编程面试题
2016/05/29 面试题
介绍一下gcc特性
2015/10/31 面试题
应聘医药代表职位求职信
2013/10/21 职场文书
大学生毕业自我评价范文分享
2013/11/11 职场文书
远程网络教育毕业生自我鉴定
2014/04/14 职场文书
机械专业应届毕业生自荐书
2014/06/12 职场文书
小学感恩教育活动总结
2014/07/07 职场文书
超市优秀员工获奖感言
2014/08/15 职场文书
高中运动会广播稿
2014/09/16 职场文书
社区植树节活动总结
2015/02/06 职场文书
2015年幼儿园教研活动总结
2015/03/25 职场文书
关于国庆节的广播稿
2015/08/19 职场文书
基于Python绘制子图及子图刻度的变换等的问题
2021/05/23 Python
一文搞懂MySQL索引页结构
2022/02/28 MySQL
MySQL详细讲解变量variables的用法
2022/06/21 MySQL