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使用pyhook监控键盘并实现切换歌曲的功能
Jul 18 Python
Python多线程编程简单介绍
Apr 13 Python
浅谈django orm 优化
Aug 18 Python
Python3实现爬虫爬取赶集网列表功能【基于request和BeautifulSoup模块】
Dec 05 Python
python 获取sqlite3数据库的表名和表字段名的实例
Jul 17 Python
Django外键(ForeignKey)操作以及related_name的作用详解
Jul 29 Python
python numpy 矩阵堆叠实例
Jan 17 Python
pytorch中的inference使用实例
Feb 20 Python
Python虚拟环境库virtualenvwrapper安装及使用
Jun 17 Python
python中append函数用法讲解
Dec 11 Python
Python就将所有的英文单词首字母变成大写
Feb 12 Python
Python opencv缺陷检测的实现及问题解决
Apr 24 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中预定义的6种接口介绍
2015/05/12 PHP
ThinkPHP 模板substr的截取字符串函数详解
2017/01/09 PHP
thinkphp5.0整合phpsocketio完整攻略(绕坑)
2018/10/12 PHP
PHP并发场景的三种解决方案代码实例
2021/02/27 PHP
JavaScript 未结束的字符串常量常见解决方法
2010/01/24 Javascript
一个可绑定数据源的jQuery数据表格插件
2010/07/17 Javascript
jquery图片放大功能简单实现
2013/08/01 Javascript
原生javascript图片自动或手动切换示例附演示源码
2013/09/04 Javascript
Jquery 的outerHeight方法使用介绍
2013/09/11 Javascript
jQuery中after()方法用法实例
2014/12/25 Javascript
批量下载对路网图片并生成html的实现方法
2016/06/07 Javascript
JS实现上传图片实时预览功能
2017/05/22 Javascript
Bootstrap弹出框(Popover)被挤压的问题小结
2017/07/11 Javascript
迅速了解一下ES10中Object.fromEntries的用法使用
2019/03/05 Javascript
解决vux 中popup 组件Mask 遮罩在最上层的问题
2020/11/03 Javascript
基于vue实现微博三方登录流程解析
2020/11/04 Javascript
[02:34]DOTA2亚洲邀请赛 BG战队出场宣传片
2015/03/09 DOTA
Python collections模块实例讲解
2014/04/07 Python
Python脚本实现DNSPod DNS动态解析域名
2015/02/14 Python
简述Python2与Python3的不同点
2018/01/21 Python
Python 查找字符在字符串中的位置实例
2018/05/02 Python
python 发送和接收ActiveMQ消息的实例
2019/01/30 Python
python实现定时压缩指定文件夹发送邮件
2020/12/22 Python
如何不用安装python就能在.NET里调用Python库
2019/07/12 Python
详解python中index()、find()方法
2019/08/29 Python
Python使用scipy模块实现一维卷积运算示例
2019/09/05 Python
使用python实现名片管理系统
2020/06/18 Python
Python获取浏览器窗口句柄过程解析
2020/07/25 Python
Python 中如何使用 virtualenv 管理虚拟环境
2021/01/21 Python
Skyscanner台湾:全球知名的旅行比价引擎
2018/07/01 全球购物
名词解释型面试题(主要是网络)
2013/12/27 面试题
幼儿园户外活动总结
2014/07/04 职场文书
谢师宴答谢词
2015/01/05 职场文书
2015年考研复习计划
2015/01/19 职场文书
2019各种承诺书范文
2019/06/24 职场文书
python使用opencv对图像添加噪声(高斯/椒盐/泊松/斑点)
2022/04/06 Python