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自动发邮件的代码,我作了些调整,并参照网上的 ...
随机推荐
- Python GUI wxPython StaticText控件背景色透明
import wx class TransparentStaticText(wx.StaticText): """ 重写StaticText控件 "" ...
- leetcode 945. 使数组唯一的最小增量
题目 给定整数数组 A,每次 move 操作将会选择任意 A[i],并将其递增 1. 返回使 A 中的每个值都是唯一的最少操作次数. 示例 1: 输入:[1,2,2] 输出:1 解释:经过一次 mov ...
- 将java中Map对象转为有相同属性的类对象(json作为中间转换)
java中Map对象转为有相同属性的类对象(json作为中间转换) 准备好json转换工具类 public class JsonUtil { private static ObjectMapper o ...
- python+selenium环境搭建步骤
一.自动化简介 1.自动化测试概念: 是把以人为驱动的测试转化为机器执行的一种过程,它是一种以程序测试程序的过程 2.自动化测试分类: 一般IT上所说的自动化测试是指功能自动化测试,通过编码的方式用一 ...
- 图的广度优先遍历(bfs)
广度优先遍历: 1.将起点s 放入队列Q(访问) 2.只要Q不为空,就循环执行下列处理 (1)从Q取出顶点u 进行访问(访问结束) (2)将与u 相邻的未访问顶点v 放入Q, 同时将d[v]更新为d[ ...
- python之openpyxl模块(最全总结 足够初次使用)
openpyxl模块 Python_Openpyxl 1. 安装 pip install openpyxl 2. 打开文件 ① 创建 from openpyxl import Workbook # 实 ...
- java如何自定义一个线程池
java线程池的一些简单功能,后续会更新,代码不多,很好理解 package com.rbac.thread; import java.util.ArrayList; import java.util ...
- 关于laravel5.4.12新增集合操作when方法详解
从v5.4.12开始,Laravel Collections现在包括一个when方法,允许您对项目执行条件操作,而不会中断链. 像所有其他Laravel 集合方法,这一个可以有很多用例,选择其中一个例 ...
- JavaScript登录记住密码操作
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...
- Unity 游戏框架搭建 2019 (二十一、二十二) 第三章简介&整理前的准备
整理前的准备 到目前为止,我们积攒了很多示例了,并且每个示例也都贯彻了最的约定和规则. 在上一篇的小结也说了一个比较新的东西:编程体验优化. 在之前我们还积攒了一个问题:代码重复问题. 我们可是忍住整 ...