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中逻辑运算符的使用
May 13 Python
利用python实现数据分析
Jan 11 Python
python中如何使用朴素贝叶斯算法
Apr 06 Python
python对list中的每个元素进行某种操作的方法
Jun 29 Python
Python使用googletrans报错的解决方法
Sep 25 Python
python实现三次样条插值
Dec 17 Python
详解DeBug Python神级工具PySnooper
Jul 03 Python
如何基于python操作excel并获取内容
Dec 24 Python
python 按钮点击关闭窗口的实现
Mar 04 Python
判断Threading.start新线程是否执行完毕的实例
May 02 Python
Pandas把dataframe或series转换成list的方法
Jun 14 Python
next在python中返回迭代器的实例方法
Dec 15 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原理之异常机制深入分析
2010/08/08 PHP
PHP 强制下载文件代码
2010/10/24 PHP
PHP保存带BOM文件的方法
2015/02/12 PHP
WordPress的主题编写中获取头部模板和底部模板
2015/12/28 PHP
php数组函数array_walk用法示例
2016/05/26 PHP
js常用函数 不错
2006/09/08 Javascript
基于javascript实现动态时钟效果
2020/08/18 Javascript
JavaScript修改作用域外变量的方法
2016/03/25 Javascript
JS中常用的输出方式(五种)
2016/06/12 Javascript
JavaScript的this关键字的理解
2016/06/18 Javascript
AngularJS中实现动画效果的方法
2016/07/28 Javascript
微信小程序 富文本转文本实例详解
2016/10/24 Javascript
angular2 ng2-file-upload上传示例代码
2018/08/23 Javascript
微信小程序实现禁止分享代码实例
2019/10/19 Javascript
PHP 502bad gateway原因及解决方案
2020/11/13 Javascript
手动实现把python项目发布为exe可执行程序过程分享
2014/10/23 Python
Python标准库之itertools库的使用方法
2017/09/07 Python
Python编程把二叉树打印成多行代码
2018/01/04 Python
浅谈python下含中文字符串正则表达式的编码问题
2018/12/07 Python
pandas数据处理进阶详解
2019/10/11 Python
如何使用python代码操作git代码
2020/02/29 Python
完美解决TensorFlow和Keras大数据量内存溢出的问题
2020/07/03 Python
python 使用建议与技巧分享(四)
2020/08/18 Python
StubHub哥伦比亚:购买和出售您的门票
2016/10/20 全球购物
重写子类方法时,抛出异常的书写注意事项
2015/10/17 面试题
自动化工程专业个人应聘自荐信
2013/09/26 职场文书
大二自我鉴定范文
2013/10/05 职场文书
幼儿园教学管理制度
2014/02/04 职场文书
现场施工员岗位职责
2014/03/10 职场文书
剪彩仪式主持词
2014/03/19 职场文书
电大毕业生自我鉴定
2014/04/10 职场文书
学校对教师的评语
2014/04/28 职场文书
欢迎标语大全
2014/06/21 职场文书
2015年资料员工作总结
2015/04/25 职场文书
社区扶贫帮困工作总结
2015/05/20 职场文书
创业计划书之都市休闲农庄
2019/12/28 职场文书