python 自动打包,发送邮件(包括附件)至多个收件人(qq邮箱,163邮箱)
-----------------------------打包部分----------------------------------
```
import zipfile def zipDir(dirpath, outFullName):
zip = zipfile.ZipFile(outFullName, 'w', zipfile.ZIP_DEFLATED)
for path, dirnames, filenames in os.walk(dirpath):
this_path = os.path.abspath('.')
fpath = path.replace(this_path, '')
for filename in filenames:
zip.write(os.path.join(path, filename), os.path.join(fpath, filename))
zip.close() ```
----------------------------发送邮件部分----------------------------------
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase #附件
from email.mime.text import MIMEText
from email import encoders #转码 def server_pre(msg):
'''邮件服务器基础设置'''
print('connecting :::::::::::::::')
server = smtplib.SMTP_SSL('smtp.qq.com')
# server.starttls()
fromAddr = 'XXXXXXXX@qq.com' # 发件人地址
myPass = 'password' # 发件人密码
print('login :::::::::::::::')
server.login(fromAddr, myPass)
print('sending :::::::::::::::')
server.sendmail(msg['From'], msg['To'].split(','),msg.as_string())
print('quiting :::::::::::::::')
server.quit() def send_listing(zippedFn,subject,sendFn,to_adress_list):
'''发送邮件'''
global msg_list
msg_list = MIMEMultipart()
msg_list['From'] = 'YYYYYYYYYYY@qq.com'
msg_list['To'] = ','.join(to_adress_list)
print(msg_list['To'])
msg_list['Subject'] = subject
body = ''send py python'
msg_list.attach(MIMEText(body))
print('period 1 :::::::::::::::')
with open(zippedFn,'rb') as f:
#这里附件的MIME和文件名
mime = MIMEBase('zip','zip',filename=sendFn)
#加上必要的头信息
mime.add_header('Content-Disposition','attachment',filename=('gb2312', '', sendFn))
mime.add_header('Content-ID','<0>')
mime.add_header('X-Attachment-Id','0')
#把附件的内容读进来
mime.set_payload(f.read())
#用Base64编码
encoders.encode_base64(mime)
msg_list.attach(mime)
print('period 2 :::::::::::::::')
server_pre(msg_list)
print(">> email send successfully !!")
python 自动打包,发送邮件(包括附件)至多个收件人(qq邮箱,163邮箱)的更多相关文章
- 使用 python 自动打包 Android 和 iOS
https://github.com/jinzunyue/package-Android-and-iOS
- 【Python系列】Python自动发邮件脚本-html邮件内容
缘起 这段时间给朋友搞了个群发邮件的脚本,为了防止进入垃圾邮件,做了很多工作,刚搞完,垃圾邮件进入率50%,觉得还不错,如果要将垃圾邮件的进入率再调低,估计就要花钱买主机了,想想也就算了,先发一个月, ...
- python笔记之发送邮件
发送邮件前提:开启邮箱授权码 一.开启授权码(以163邮箱为例) 1.登录163邮箱,点击设置--POP3/SMTP/IMAP,出现设置界面 2. 开启SMTP服务且可以查询SMTP的host地址 ...
- 【Python系列】Python自动发邮件脚本
缘起 这段时间给朋友搞了个群发邮件的脚本,为了防止进入垃圾邮件,做了很多工作,刚搞完,垃圾邮件进入率50%,觉得还不错,如果要将垃圾邮件的进入率再调低,估计就要花钱买主机了,想想也就算了,先发一个月, ...
- phpmailer使用qq邮箱、163邮箱成功发送邮件实例代码
以前使用qq邮箱.163服务器发送邮件,帐号直接使用密码,现在不行了,得使用授权码,简单记录下 1.首先开通POP3/SMTP服务,qq邮箱——帐号——设置,找到POP3/SMTP点开启,输入短信会有 ...
- Python自动发送邮件(可带附件)
Python内置对SMTP的支持,可以发送纯文本邮件.HTML邮件以及带附件的邮件. Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件 ...
- python☞自动发送邮件
一.SMTP 协议 SMTP(Simple Mail Transfer Protocol)是简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式 二.smtplib ...
- 40、IOS自动打包-Python脚本
第一种:基于编译的打包 编译工程--找到.app文件--新建Payload文件夹--拷贝.app到Payload文件夹--压缩成zip--更改后缀名为ipa--完成! 第二种(有问题,暂时不需要看) ...
- 【Python】利用python自动发送邮件
前言 在训练网络的过程中,需要大量的时间,虽然可以预估网络训练完成时间,但蹲点看结果着实有点不太聪明的亚子. 因此,参照师兄之前发的python利用smtp自动发邮件的代码,我作了些调整,并参照网上的 ...
随机推荐
- 记一次phpstudy应急响应
某日,销售接了一个电话,突然告诉我有个某单位服务器中了木马被黑,具体情况未知.由于客户那边比较急,于是我火速赶往客户现场.到现场,客户首先给我看了深信服防火墙拦截记录,显示内网三台机器被入侵.通过沟通 ...
- 采用vue编写的功能强大的swagger-ui页面
think-swagger-ui-vuele swagger-ui有非常多的版本,觉得不太好用,用postman,每个接口都要自己进行录入.所以在基于think-vuele进行了swagger格式js ...
- [JVM教程与调优] JVM都有哪些参数类型?
JDK本身是提供了一些监控工具,有一些是命令行,也有图形界面.本次介绍命令行如何进行监控. 命令行是非常重要的,因为在我们生产环境基本上是没有图形界面的,完全是通过命令行. 主要内容: JVM的参数类 ...
- .NET 5 中的正则引擎性能改进(翻译)
前言 System.Text.RegularExpressions 命名空间已经在 .NET 中使用了多年,一直追溯到 .NET Framework 1.1.它在 .NET 实施本身的数百个位置中使用 ...
- iOS 真机查看沙盒目录
iExplorer 的方法试的时候设备都无法检测到,建议放弃 启用iTunes文件共享,才能够看沙盒内的文件,只需要在plist文件中添加如下信息: <key>UIFileSharingE ...
- Java 异常处理与输入输出
一.异常 1.1 package exception; import java.util.Scanner; public class ArrayIndex { public static void m ...
- MATLAB 动图绘制、保存
动图有gif格式和视频的avi格式. 1.sin(x)动图 clear all h = animatedline;%动画线 axis([0 4*pi -1 1]) box on x = linspac ...
- 玩转控件:封装Dev的SearchLookupEdit
鸣谢 随着前面几个章节对控件封装与扩展的分享,不少小伙伴儿们在作者公众号上反馈,并联系作者,表示通过这些系列和源码能学到不少细节上的东西,并运用到了自己的实际项目当中,也有不少伙伴儿反馈更好更优的处理 ...
- D. Fight with Monsters
D. Fight with Monsters time limit per test 1 second memory limit per test 256 megabytes input standa ...
- Python学习笔记:迭代器(Iterator)详解
一.可迭代的对象(Iterable) 1.定义:可以直接用在循环的数据类型,如list,tuple,dict,set,str,还有generator(生成器), 和带yield的函数,这些直接可以用在 ...