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实现命令行通讯录实例教程
Aug 18 Python
Python元字符的用法实例解析
Jan 17 Python
详解tensorflow载入数据的三种方式
Apr 24 Python
pandas 对每一列数据进行标准化的方法
Jun 09 Python
对python requests的content和text方法的区别详解
Oct 11 Python
Python对切片命名的实现方法
Oct 16 Python
python买卖股票的最佳时机(基于贪心/蛮力算法)
Jul 05 Python
Pytorch技巧:DataLoader的collate_fn参数使用详解
Jan 08 Python
Python qrcode 生成一个二维码的实例详解
Feb 12 Python
matplotlib quiver箭图绘制案例
Apr 17 Python
python中JWT用户认证的实现
May 18 Python
如何用Python和JS实现的Web SSH工具
Feb 23 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获取表单所有复选框的值的方法
2014/08/28 PHP
PHP实现文件上传和多文件上传
2015/12/24 PHP
php判断手机浏览还是web浏览,并执行相应的动作简单实例
2016/07/28 PHP
yii2.0数据库迁移教程【多个数据库同时同步数据】
2016/10/08 PHP
php封装的page分页类完整实例
2016/10/18 PHP
Prototype Function对象 学习
2009/07/12 Javascript
下拉列表select 由左边框移动到右边示例
2013/12/04 Javascript
jquery无刷新验证邮箱地址实现实例
2014/02/19 Javascript
jquery禁用右键单击功能屏蔽F5刷新
2014/03/17 Javascript
用js替换除数字与逗号以外的所有字符的代码
2014/06/07 Javascript
利用原生JavaScript获取元素样式只是获取而已
2014/10/08 Javascript
JS设置网页图片vspace和hspace属性的方法
2015/04/01 Javascript
javascript实现uploadify上传格式以及个数限制
2015/11/23 Javascript
JavaScript判断数组是否存在key的简单实例
2016/08/03 Javascript
关于JavaScript语句后面的分号问题
2017/12/07 Javascript
mint-ui 时间插件使用及获取选择值的方法
2018/02/09 Javascript
AngularJS实现与后台服务器进行交互的示例讲解
2018/08/13 Javascript
微信小程序实现展示评分结果功能
2019/02/15 Javascript
Nodejs监听日志文件的变化的过程解析
2019/08/04 NodeJs
如何实现小程序与小程序之间的跳转
2020/11/04 Javascript
Python入门篇之列表和元组
2014/10/17 Python
Windows系统下使用flup搭建Nginx和Python环境的方法
2015/12/25 Python
python利用标准库如何获取本地IP示例详解
2017/11/01 Python
tensorflow tf.train.batch之数据批量读取方式
2020/01/20 Python
Python使用graphviz画流程图过程解析
2020/03/31 Python
Python中的With语句的使用及原理
2020/07/29 Python
在终端启动Python时报错的解决方案
2020/11/20 Python
KIKO MILANO西班牙官网:意大利领先的化妆品和护肤品品牌
2019/05/03 全球购物
介绍一下JMS编程步骤
2015/09/22 面试题
家教广告词
2014/03/19 职场文书
项目合作协议书
2014/09/23 职场文书
金融专业银行实习证明模板
2014/11/28 职场文书
2014年机关党委工作总结
2014/12/11 职场文书
办公室主任个人总结
2015/02/28 职场文书
2015年统战工作总结
2015/05/19 职场文书
婚礼嘉宾致辞
2015/07/28 职场文书