python smtplib发送带附件邮件小程序
作者:chx3515 发布时间:2023-03-24 17:14:26
标签:python,smtplib
最近经常需要出一些临时性的报表,于是就用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
来源:https://blog.csdn.net/chx3515/article/details/44061785
0
投稿
猜你喜欢
- 1 作用通过 flask-script 可以以命令的形式,执行 flask 语句。提供向 Flask 插入外部脚本的功能,如 运行一个开发服
- 如何在线查询本地机的文件?看看下面的例子,默认子目录与子虚拟目录为同一级别且名称一致,另我们使用了"http://intels.n
- 函数: # 什么是函数:一系列python语句的组合,可以在程序中运行一次或者多次# 一般是完成具体的独立的功能# 为什么要使用函数# 代码
- 这篇论坛文章(赛迪网技术社区)主要介绍了如何建立适当的索引实现查询优化的相关问题,具体内容请大家参考下文:索引(index)是除表之外另一重
- 做项目的时候,一位同事导数据的时候,不小心把一个表中的数据全都搞重了,也就是说,这个表里所有的记录都有一条重复的。这个表的数据是千万级的,而
- 上一篇讲到了javascript的节流函数和防抖函数,那么我们在实际场合中该如何运用呢?首先,我们来理解一下:节流函数首先是节流,就是节约流
- 一、安装相关的模块首先第一步的话我们需要安装相关的模块,通过pip命令来安装pip install gif另外由于gif模块之后会被当做是装
- 本文实例讲述了Python实现合并excel表格的方法。分享给大家供大家参考,具体如下:需求将一个文件夹中的excel表格合并成我们想要的形
- 背景最近在搞爬虫,很多小组件里面都使用了 Python 的 requests 库,很好用,很强大。但最近发现很多任务总是莫名其妙的卡住,不报
- 本文实例分析了python的私有属性和方法。分享给大家供大家参考。具体实现方法如下:python默认的成员函数和成员变量都是公开的,并且没有
- 项目中有这样的需求,通过IP地址判断客户端是网通的还是电信的。从同事那拿了个纯文本的IP纯真数据库,用Python写了一个小程序,感觉挺好的
- 本文介绍MySQL与Redis缓存的同步的两种方案方案1:通过MySQL自动同步刷新Redis,MySQL触发器+UDF函数实现方案2:解析
- <script language="javascript"><!-- var&n
- 当系统出现故障时,只要存在数据日志那么就可以利用它来恢复数据解决数据库故障。作为SQL Server数据库管理员,了解数据日志文件的作用,以
- 装完数据库清理一些默认账号的时候不小心把root删除了,flush privileges 之后的新 root 忘了grant任何权限,查看m
- 前言Pythonnet这个 * 爆的项目的出现,使得我们可以用一种新的方式,让C#可以和Python之间进行互操作。但是它的设置和部署可能有点问
- 表结构如下:id varchar(32) info json数据:id = 1info = {&qu
- 本文实例讲述了Golang正整数指定规则排序算法问题。分享给大家供大家参考,具体如下:给定字符串内有很多正整数,要求对这些正整数进行排序,然
- 大家好,我是煎蛋哥!全国有很多彩民,其中购买最多的彩种分别是体彩大乐透和福彩双色球;虽然中大奖的概率极低,但是彩民纷至沓来,一方面抱着一份中
- 大家好,今天分享一个非常有趣的 Python 教程,如何美化一个 matplotlib 折线图,喜欢记得收藏、关注、点赞。1. 导入包imp