-----------------------------打包部分----------------------------------

  1. ```
  2. import zipfile
  3.  
  4. def zipDir(dirpath, outFullName):
  5. zip = zipfile.ZipFile(outFullName, 'w', zipfile.ZIP_DEFLATED)
  6. for path, dirnames, filenames in os.walk(dirpath):
  7. this_path = os.path.abspath('.')
  8. fpath = path.replace(this_path, '')
  9. for filename in filenames:
  10. zip.write(os.path.join(path, filename), os.path.join(fpath, filename))
  11. zip.close()
  12.  
  13. ```

  

----------------------------发送邮件部分----------------------------------

  1. import smtplib
  2. from email.mime.multipart import MIMEMultipart
  3. from email.mime.base import MIMEBase #附件
  4. from email.mime.text import MIMEText
  5. from email import encoders #转码
  6.  
  7. def server_pre(msg):
  8. '''邮件服务器基础设置'''
  9. print('connecting :::::::::::::::')
  10. server = smtplib.SMTP_SSL('smtp.qq.com')
  11. # server.starttls()
  12. fromAddr = 'XXXXXXXX@qq.com' # 发件人地址
  13. myPass = 'password' # 发件人密码
  14. print('login :::::::::::::::')
  15. server.login(fromAddr, myPass)
  16. print('sending :::::::::::::::')
  17. server.sendmail(msg['From'], msg['To'].split(','),msg.as_string())
  18. print('quiting :::::::::::::::')
  19. server.quit()
  20.  
  21. def send_listing(zippedFn,subject,sendFn,to_adress_list):
  22. '''发送邮件'''
  23. global msg_list
  24. msg_list = MIMEMultipart()
  25. msg_list['From'] = 'YYYYYYYYYYY@qq.com'
  26. msg_list['To'] = ','.join(to_adress_list)
  27. print(msg_list['To'])
  28. msg_list['Subject'] = subject
  29. body = ''send py python'
  30. msg_list.attach(MIMEText(body))
  31. print('period 1 :::::::::::::::')
  32. with open(zippedFn,'rb') as f:
  33. #这里附件的MIME和文件名
  34. mime = MIMEBase('zip','zip',filename=sendFn)
  35. #加上必要的头信息
  36. mime.add_header('Content-Disposition','attachment',filename=('gb2312', '', sendFn))
  37. mime.add_header('Content-ID','<0>')
  38. mime.add_header('X-Attachment-Id','0')
  39. #把附件的内容读进来
  40. mime.set_payload(f.read())
  41. #用Base64编码
  42. encoders.encode_base64(mime)
  43. msg_list.attach(mime)
  44. print('period 2 :::::::::::::::')
  45. server_pre(msg_list)
  46. print(">> email send successfully !!")

  

python 自动打包,发送邮件(包括附件)至多个收件人(qq邮箱,163邮箱)的更多相关文章

  1. 使用 python 自动打包 Android 和 iOS

    https://github.com/jinzunyue/package-Android-and-iOS

  2. 【Python系列】Python自动发邮件脚本-html邮件内容

    缘起 这段时间给朋友搞了个群发邮件的脚本,为了防止进入垃圾邮件,做了很多工作,刚搞完,垃圾邮件进入率50%,觉得还不错,如果要将垃圾邮件的进入率再调低,估计就要花钱买主机了,想想也就算了,先发一个月, ...

  3. python笔记之发送邮件

    发送邮件前提:开启邮箱授权码 一.开启授权码(以163邮箱为例) 1.登录163邮箱,点击设置--POP3/SMTP/IMAP,出现设置界面   2. 开启SMTP服务且可以查询SMTP的host地址 ...

  4. 【Python系列】Python自动发邮件脚本

    缘起 这段时间给朋友搞了个群发邮件的脚本,为了防止进入垃圾邮件,做了很多工作,刚搞完,垃圾邮件进入率50%,觉得还不错,如果要将垃圾邮件的进入率再调低,估计就要花钱买主机了,想想也就算了,先发一个月, ...

  5. phpmailer使用qq邮箱、163邮箱成功发送邮件实例代码

    以前使用qq邮箱.163服务器发送邮件,帐号直接使用密码,现在不行了,得使用授权码,简单记录下 1.首先开通POP3/SMTP服务,qq邮箱——帐号——设置,找到POP3/SMTP点开启,输入短信会有 ...

  6. Python自动发送邮件(可带附件)

    Python内置对SMTP的支持,可以发送纯文本邮件.HTML邮件以及带附件的邮件. Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件 ...

  7. python☞自动发送邮件

    一.SMTP 协议 SMTP(Simple Mail Transfer Protocol)是简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式 二.smtplib ...

  8. 40、IOS自动打包-Python脚本

    第一种:基于编译的打包 编译工程--找到.app文件--新建Payload文件夹--拷贝.app到Payload文件夹--压缩成zip--更改后缀名为ipa--完成! 第二种(有问题,暂时不需要看) ...

  9. 【Python】利用python自动发送邮件

    前言 在训练网络的过程中,需要大量的时间,虽然可以预估网络训练完成时间,但蹲点看结果着实有点不太聪明的亚子. 因此,参照师兄之前发的python利用smtp自动发邮件的代码,我作了些调整,并参照网上的 ...

随机推荐

  1. Python GUI wxPython StaticText控件背景色透明

    import wx class TransparentStaticText(wx.StaticText): """ 重写StaticText控件 "" ...

  2. leetcode 945. 使数组唯一的最小增量

    题目 给定整数数组 A,每次 move 操作将会选择任意 A[i],并将其递增 1. 返回使 A 中的每个值都是唯一的最少操作次数. 示例 1: 输入:[1,2,2] 输出:1 解释:经过一次 mov ...

  3. 将java中Map对象转为有相同属性的类对象(json作为中间转换)

    java中Map对象转为有相同属性的类对象(json作为中间转换) 准备好json转换工具类 public class JsonUtil { private static ObjectMapper o ...

  4. python+selenium环境搭建步骤

    一.自动化简介 1.自动化测试概念: 是把以人为驱动的测试转化为机器执行的一种过程,它是一种以程序测试程序的过程 2.自动化测试分类: 一般IT上所说的自动化测试是指功能自动化测试,通过编码的方式用一 ...

  5. 图的广度优先遍历(bfs)

    广度优先遍历: 1.将起点s 放入队列Q(访问) 2.只要Q不为空,就循环执行下列处理 (1)从Q取出顶点u 进行访问(访问结束) (2)将与u 相邻的未访问顶点v 放入Q, 同时将d[v]更新为d[ ...

  6. python之openpyxl模块(最全总结 足够初次使用)

    openpyxl模块 Python_Openpyxl 1. 安装 pip install openpyxl 2. 打开文件 ① 创建 from openpyxl import Workbook # 实 ...

  7. java如何自定义一个线程池

    java线程池的一些简单功能,后续会更新,代码不多,很好理解 package com.rbac.thread; import java.util.ArrayList; import java.util ...

  8. 关于laravel5.4.12新增集合操作when方法详解

    从v5.4.12开始,Laravel Collections现在包括一个when方法,允许您对项目执行条件操作,而不会中断链. 像所有其他Laravel 集合方法,这一个可以有很多用例,选择其中一个例 ...

  9. JavaScript登录记住密码操作

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...

  10. Unity 游戏框架搭建 2019 (二十一、二十二) 第三章简介&整理前的准备

    整理前的准备 到目前为止,我们积攒了很多示例了,并且每个示例也都贯彻了最的约定和规则. 在上一篇的小结也说了一个比较新的东西:编程体验优化. 在之前我们还积攒了一个问题:代码重复问题. 我们可是忍住整 ...