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 14 Python
详解Python多线程Selenium跨浏览器测试
Apr 01 Python
更改Python的pip install 默认安装依赖路径方法详解
Oct 27 Python
python3.5安装python3-tk详解
Apr 26 Python
Python搭建Spark分布式集群环境
Jul 05 Python
Python 动态导入对象,importlib.import_module()的使用方法
Aug 28 Python
Python3.7 读取 mp3 音频文件生成波形图效果
Nov 05 Python
解决python 在for循环并且pop数组的时候会跳过某些元素的问题
Dec 11 Python
python pyg2plot的原理知识点总结
Feb 28 Python
Python离线安装openpyxl模块的步骤
Mar 30 Python
python实现简单的井字棋
May 26 Python
python中使用 unittest.TestCase单元测试的用例详解
Aug 30 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自动生成月历代码
2006/10/09 PHP
解析php利用正则表达式解决采集内容排版的问题
2013/06/20 PHP
php使用curl存储cookie的示例
2014/03/31 PHP
11个PHPer必须要了解的编程规范
2014/09/22 PHP
Yii框架form表单用法实例
2014/12/04 PHP
WordPress中用于获取搜索表单的PHP函数使用解析
2016/01/05 PHP
PHP中子类重载父类的方法【parent::方法名】
2016/05/06 PHP
PHP中header函数的用法及其注意事项详解
2016/06/13 PHP
php项目开发中用到的快速排序算法分析
2016/06/25 PHP
php-app开发接口加密详解
2018/04/18 PHP
PHP实现常用排序算法的方法
2020/02/05 PHP
javascript读取xml
2006/11/04 Javascript
javascript实现动态表头及表列的展现方法
2015/07/14 Javascript
javascript模拟C#格式化字符串
2015/08/26 Javascript
Javascript基础知识盲点总结之函数
2016/05/15 Javascript
使用Node搭建reactSSR服务端渲染架构
2018/08/30 Javascript
从组件封装看Vue的作用域插槽的实现
2019/02/12 Javascript
微信小程序实现跳转的几种方式总结(推荐)
2019/04/24 Javascript
layui关闭层级、简单监听的实例
2019/09/06 Javascript
vue配置nprogress实现页面顶部进度条
2019/09/21 Javascript
[01:19:46]DOTA2-DPC中国联赛 正赛 SAG vs DLG BO3 第一场 2月28日
2021/03/11 DOTA
通过数据库向Django模型添加字段的示例
2015/07/21 Python
python 中的list和array的不同之处及转换问题
2018/03/13 Python
pandas series序列转化为星期几的实例
2018/04/11 Python
python实现ip代理池功能示例
2019/07/05 Python
matplotlib基础绘图命令之bar的使用方法
2020/08/13 Python
利用CSS3实现炫酷的飞机起飞动画
2016/09/17 HTML / CSS
Office DEPOT法国官网:欧迪办公用品采购
2018/01/03 全球购物
Holland & Barrett爱尔兰:英国领先的健康零售商
2019/03/31 全球购物
后勤工作职责
2013/12/22 职场文书
学生出入校管理制度
2014/01/16 职场文书
家电业务员岗位职责
2014/03/10 职场文书
十八大演讲稿
2014/05/22 职场文书
庆祝新中国成立65周年“向国旗敬礼”网上签名寄语
2014/09/27 职场文书
2016年寒假政治学习心得体会
2015/10/09 职场文书
JMeter对MySQL数据库进行压力测试的实现步骤
2022/01/22 MySQL