python smtplib发送带附件邮件小程序


Posted in Python onMay 22, 2018

最近经常需要出一些临时性的报表,于是就用python 的smtplib 和email 两模块写了个小程序,当数据处理完后通过邮箱把报表文件从服务器上发送出来!

程序名称:sendMail_func.py

#!/usr/bin/env python 
# -*- coding:utf-8 -*- 
import os 
import sys 
import time 
import smtplib 
from email import encoders 
from email.mime.text import MIMEText 
from email.mime.base import MIMEBase 
from email.mime.multipart import MIMEMultipart 
 
def send_mail(sub,content,mail_to,fileList): 
  mail_host='smtp.163.com' 
  mail_user='****@163.com' 
  mail_pass='******' 
  mail_to_list=mail_to.split(',') 
 
  msg = MIMEMultipart() 
  #msg=MIMEText(content,_charset='utf-8') 
  msg['Subject']=sub 
  msg['From']=mail_user 
  msg['To']=";".join(mail_to_list) 
  msg.attach(MIMEText(content,_charset='utf-8')) 
 
  files=fileList.split(',') 
  for f in files: 
    part = MIMEBase('application', 'octet-stream') #'octet-stream': binary data 
    part.set_payload(open(f, 'rb').read()) 
    encoders.encode_base64(part) 
    part.add_header('Content-Disposition', 'attachment; filename="%s"' % os.path.basename(f).encode('utf-8')) 
    msg.attach(part) 
 
  try: 
    s=smtplib.SMTP() 
    s.connect(mail_host) 
    s.login(mail_user,mail_pass) 
    s.sendmail(mail_user,mail_to_list,msg.as_string()) 
    s.close() 
    return True 
  except Exception, e: 
    print str(e) 
    return False 
 
if __name__=="__main__": 
  if len(sys.argv) == 5: 
    send_mail(sys.argv[1],sys.argv[2],sys.argv[3],sys.argv[4]) 
  else: 
    print '' 
    print '*************************************************' 
    print ' Error: 请传入四个参数值:邮件主题 邮件内容 收件人 附件路径' 
    print '  如: python sendMail_func.py 邮件测试 邮件内容 abc@126.com,def@163.com,123456789@qq.com 1.xlsx,2.xlsx' 
    print '*************************************************' 
    print '' 
    exit

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
在Django中创建URLconf相关的通用视图的方法
Jul 20 Python
TensorFlow神经网络优化策略学习
Mar 09 Python
Python hashlib模块用法实例分析
Jun 12 Python
Python实现模拟登录网易邮箱的方法示例
Jul 05 Python
python实现傅里叶级数展开的实现
Jul 21 Python
深入浅析Python中list的复制及深拷贝与浅拷贝
Sep 03 Python
对python过滤器和lambda函数的用法详解
Jan 21 Python
Python爬虫之UserAgent的使用实例
Feb 21 Python
简单易懂Pytorch实战实例VGG深度网络
Aug 27 Python
python之yield和Generator深入解析
Sep 18 Python
python中有关时间日期格式转换问题
Dec 25 Python
Python Selenium自动化获取页面信息的方法
Aug 31 Python
python SMTP实现发送带附件电子邮件
May 22 #Python
python 获取当天凌晨零点的时间戳方法
May 22 #Python
python 爬虫一键爬取 淘宝天猫宝贝页面主图颜色图和详情图的教程
May 22 #Python
python3.x实现发送邮件功能
May 22 #Python
python 爬虫 批量获取代理ip的实例代码
May 22 #Python
python 获取当天每个准点时间戳的实例
May 22 #Python
selenium+python 去除启动的黑色cmd窗口方法
May 22 #Python
You might like
《心理测量者3》剧场版动画预告
2020/03/02 日漫
php Xdebug 调试扩展的安装与使用.
2010/03/13 PHP
Laravel 5框架学习之向视图传送数据
2015/04/08 PHP
PHP+Mysql+Ajax实现淘宝客服或阿里旺旺聊天功能(前台页面)
2017/06/16 PHP
Javascript中暂停功能的实现代码
2007/03/04 Javascript
JavaScript编程开发中的五个实用小技巧
2010/07/22 Javascript
jQuery 图片切换插件(代码比较少)
2012/05/07 Javascript
js实现目录定位正文示例
2013/11/14 Javascript
javascript实现动态标签云
2015/10/16 Javascript
JavaScript判断DIV内容是否为空的方法
2016/01/29 Javascript
JavaScript File API文件上传预览
2016/02/02 Javascript
深入浅析JavaScript中的作用域和上下文
2016/03/26 Javascript
原生js实现类似fullpage的单页/全屏滚动
2017/01/22 Javascript
JavaScript中的子窗口与父窗口的互相调用问题
2017/02/08 Javascript
jquery 仿锚点跳转到页面指定位置的实例
2017/02/14 Javascript
浅谈React中的元素、组件、实例和节点
2018/02/27 Javascript
React Native使用fetch实现图片上传的示例代码
2018/03/07 Javascript
JS实现前端页面的搜索功能
2018/06/12 Javascript
微信小程序获取位置展示地图并标注信息的实例代码
2019/09/01 Javascript
javascript中可能用得到的全部的排序算法
2020/03/05 Javascript
js实现小星星游戏
2020/03/23 Javascript
JavaScript监听键盘事件代码实现
2020/06/03 Javascript
vuex实现购物车功能
2020/06/28 Javascript
对pandas的行列名更改与数据选择详解
2018/11/12 Python
python实现自动获取IP并发送到邮箱
2018/12/26 Python
深入解读CSS3中transform变换模型的渲染
2016/05/27 HTML / CSS
CSS3 优势以及网页设计师如何使用CSS3技术
2009/07/29 HTML / CSS
纯HTML5+CSS3制作生日蛋糕代码
2016/11/16 HTML / CSS
设置器与访问器的定义以及各自特点
2016/01/08 面试题
JAVA程序员自荐书
2014/01/30 职场文书
中学教师请假制度
2014/02/03 职场文书
学生请假条
2014/04/11 职场文书
大学生社团活动总结
2014/04/26 职场文书
2015年行政管理人员工作总结
2015/10/15 职场文书
2017年寒假少先队活动总结
2016/04/06 职场文书
JS中一些高效的魔法运算符总结
2021/05/06 Javascript