#!/usr/bin/python3

# -*- coding:UTF-8 -*-

import smtplib

#smtplib库主要用来连接第三方smtp库,用来发邮件

from email.mime.text import MIMEText

from email.header import Header

from email.mime.multipart import MIMEMultipart

#email库主要用来定义邮件的格式,发送人,接收人,邮件标题,邮件正文

smtp_server = 'smtp.163.com'

smtp_user = '185xxxxx@163.com'

smtp_pwd = 'xxxxxxx'

#user和pwd是用来连接smtp.163.com,不是邮箱的密码。需要在邮箱里设置一下。

sender = smtp_user

#发送人

receivers = ["xxxxxx", "xxxxxxx"]

#接收邮件的邮箱列表

msg = MIMEMultipart()

#创建MIMEMultipart()实例,用于构建附件

msg['From'] = Header('张xx<18519xxxxx>', 'utf-8')

subject = 'Python final Mail'

msg['Subject'] = Header(subject, 'utf-8')

#创建邮件的发送人和主题

with open('mail.html', 'r', encoding='UTF-8') as fp:

mail_msg = fp.read()

msg.attach(MIMEText(mail_msg, 'html', 'utf-8'))

#读取mail.html文件,发送html文本

att1 = MIMEText(open('mail1.txt', 'rb').read(), 'base64', 'utf-8')

att1["Content-Type"] = 'application/octet-stream'

att1["Content-Disposition"] = 'attachment; filename="mail1.txt"'

msg.attach(att1)

#创建附件1

att2 = MIMEText(open('runoob.txt', 'rb').read(), 'base64', 'utf-8')

att2["Content-Type"] = 'application/octet-stream'

att2["Content-Disposition"] = 'attachment; filename="runoob.txt"'

msg.attach(att2)

#创建附件2

sm = smtplib.SMTP()

sm.connect(smtp_server, 25)

sm.login(smtp_user, smtp_pwd)

#连接smtp服务器,并登陆

try:

for rec in receivers:

msg['To'] = rec

sm.sendmail(sender, rec, msg.as_string())

#发送邮件

print("Send mail to {0} succeed".format(rec))

except smtplib.SMTPException:

print("Send mail to {0} fail".format(rec))

sm.quit()

#关闭连接

Python中&percnt;r和&percnt;s的详解及区别&lowbar;python&lowbar;脚本之家

Python中%r和%s的详解及区别_python_脚本之家 https://www.jb51.net/article/108589.htm

python&plus;requests接口自动化测试框架实例详解

python+requests接口自动化测试框架实例详解   转自https://my.oschina.net/u/3041656/blog/820023 摘要: python + requests实 ...

自动化运维工具——ansile详解

自动化运维工具——ansible详解(一) 目录 ansible 简介 ansible 是什么? ansible 特点 ansible 架构图 ansible 任务执行 ansible 任务执行模式 ...

Python爬虫之selenium库使用详解

Python爬虫之selenium库使用详解 本章内容如下: 什么是Selenium selenium基本使用 声明浏览器对象 访问页面 查找元素 多个元素查找 元素交互操作 交互动作 执行JavaS ...

python中的subprocess&period;Popen&lpar;&rpar;使用详解---以及注意的问题(死锁)

从python2.4版本开始,可以用subprocess这个模块来产生子进程,并连接到子进程的标准输入/输出/错误中去,还可以得到子进程的返回值. subprocess意在替代其他几个老的模块或者函数 ...

Python学习一:序列基础详解

作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/7858473.html 邮箱:moyi@moyib ...

Python学习二:词典基础详解

作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/7862377.html 邮箱:moyi@moyib ...

python 3&period;x 爬虫基础---Urllib详解

python 3.x 爬虫基础 python 3.x 爬虫基础---http headers详解 python 3.x 爬虫基础---Urllib详解 前言 爬虫也了解了一段时间了希望在半个月的时间内 ...

python中argparse模块用法实例详解

python中argparse模块用法实例详解 这篇文章主要介绍了python中argparse模块用法,以实例形式较为详细的分析了argparse模块解析命令行参数的使用技巧,需要的朋友可以参考下 ...

随机推荐

浅谈iOS开发中方法延迟执行的几种方式

Method1. performSelector方法 Method2. NSTimer定时器 Method3. NSThread线程的sleep Method4. GCD 公用延迟执行方法 - (vo ...

android 回车键事件编程

实现android按下回车键便隐藏输入键盘,有两种方法: 1.)如果布局是多个EditText,为每个EditText控件设置android:singleLine=”true”,弹出的软盘输入法中回车 ...

Bash远程文件传输命令scp

备份远程文件(远程——>本地) scp -r 远程用户名@ip:文件绝对路径 本地绝对路径 还原远程文件(本地——>远程) scp -r 本地路径 远程用户名@ip:远程绝对路径 如果SS ...

JFreeChart当鼠标停留在热点提示自定义信息功能

当鼠标停留在数据点时,希望有提示信息显示,但是根据业务需要,我们需要自定义显示一下信息!具体功能实现如下: 首先我们要弄明白,Jfreechart鼠标提示信息显示主要是得到一个数据的map对象,该ma ...

moveToThread的最简单用法(依葫芦画瓢即可)(使得线程也更偏向于信号槽的使用方法)

/*! * \file main.cpp * * Copyright (C) 2010, dbzhang800 * All rights reserved. * */ #include

odi增量更新策略

增量更新策略:通过一个“update key”比较流数据记录与目标表中的记录比较进行数据整合.具有相同“update key”的记录当相关联列不同时将被更新:在目标表中不存在的记录将被插入.这种方式用 ...

现代控制理论习题解答与Matlab程序示例

现代控制理论习题解答与Matlab程序示例 现代控制理论 第三版 课后习题参考解答: http://download.csdn.net/detail/zhangrelay/9544934 下面给出部分 ...

Nginx&plus;Tomcat搭建高性能负载均衡集群

一.       工具   nginx-1.8.0 apache-tomcat-6.0.33 二.    目标   实现高性能负载均衡的Tomcat集群: 三.    步骤   1.首先下载Nginx ...

July 07th&period; 2018&comma; Week 27th&period; Saturday

Soon is not as good as now. 别谈未来,现在就行动. From Seth Godin. I always told myself that I should finish w ...

Python IO模型

这篇博客是本人借鉴一些大神的博客并结合自己的学习过程写下的. 事件驱动模型 事件驱动模型是一种编程范式,这里程序的执行流由外部事件来决定.它的特点是包含一个事件循环,当外部事件发生时,不断从队列里取出 ...

python 自动化发送邮件_Python自动化必备发送邮件报告脚本详解相关推荐

  1. python深拷贝一个对象_Python对象的深拷贝和浅拷贝详解

    本文内容是在<Python核心编程2>上看到的,感觉很有用便写出来,给大家参考参考! 浅拷贝 首先我们使用两种方式来拷贝对象,一种是切片,另外一种是工厂方法.然后使用id函数来看看它们的标 ...

  2. python数据清洗实例_python 数据的清理行为实例详解

    python 数据的清理行为实例详解 数据清洗主要是指填充缺失数据,消除噪声数据等操作,主要还是通过分析"脏数据"产生的原因和存在形式,利用现有的数据挖掘手段去清洗"脏数 ...

  3. python xlrd课程_python中xlrd模块的使用详解

    一.xlrd的安装 打开cmd输入pip install xlrd安装完成即可 二.xlrd模块的使用 下面以这个工作簿为例 1.导入模块 import xlrd 2.打开工作薄 # filename ...

  4. python计算定积分_python编程通过蒙特卡洛法计算定积分详解

    这篇文章主要介绍了python编程通过蒙特卡洛法计算定积分详解,具有一定借鉴价值,需要的朋友可以参考下. 想当初,考研的时候要是知道有这么个好东西,计算定积分...开玩笑,那时候计算定积分根本没有这么 ...

  5. 如何在python制作计算器_Python简易计算器制作方法代码详解

    主要用到的工具是Python中的Tkinter库 比较简单 直接上图形界面和代码 引用Tkinter库 from tkinter import * 建立主窗口对象 window=Tk() #设置窗口对 ...

  6. python echarts接口_python绘图pyecharts+pandas的使用详解

    pyecharts介绍 pyecharts 是一个用于生成 Echarts 图表的类库.Echarts 是百度开源的一个数据可视化 JS 库.用 Echarts 生成的图可视化效果非常棒 为避免绘制缺 ...

  7. python linspace函数_python的range和linspace使用详解

    在python中要产生一个数字序列,最快的方法就是使用range和linspace函数,但是这两者不太一样,但总的来说实现的效果是一致的,都能获取一个数字序列. range range一看其名就知道是 ...

  8. python accept解析_python中requests库使用方法详解

    一.什么是Requests Requests 是⽤Python语⾔编写,基于urllib,采⽤Apache2 Licensed开源协议的 HTTP 库.它⽐ urllib 更加⽅便,可以节约我们⼤量的 ...

  9. python 实例变量_Python的类变量和实例变量详解

    Asuka 什么是类变量? class Student: name = 'Asuka' age = '18' ... 上面定义的name和age就是类变量 什么是实例变量? class Student ...

最新文章

  1. C++点操作符和箭头操作符
  2. Count Color(poj 2777)
  3. image.open()得到的图片是什么类型_500G图片1秒压缩成200M,这个方法也太逆天了吧!完全免费...
  4. php事件和行为,Yii框架组件和事件行为管理详解
  5. React 16 + Jest单元测试 之 Mock Functions(Mock Names 和 Custom Matchers)
  6. Windows Security——获取Windows已经保存的WiFi网络密码
  7. 天猫整站SSM-分页-herf(做个人学习笔记整理用)
  8. 剑指offer06:从尾到头打印链表
  9. vjudge-Knight Moves(bfs)
  10. BZOJ 2836 树链剖分+线段树
  11. 【shell 脚本】删除/var/log 下的日志
  12. 【系列二之图像处理系列】提取图片(1)
  13. 一般使用作为微型计算机必备,远程教育统考复习之计算机应用基础单选模拟复习题(一)...
  14. Qt之QThread基本用法
  15. 使用javascript实现点击复制到剪贴板
  16. ERP和SAP是什么意思
  17. MP3参数,格式,术语有关一切内容详解。
  18. mp3格式转换软件哪个好?
  19. 个计算机语言使用人数排行,语言使用人数排行_世界语言使用人数排名
  20. c语言中e什么作用是什么,c语言中%e是什么意思

热门文章

  1. 英语十大词性之一 - 介词
  2. CSS calc() 使用指南
  3. The word is not correctly spelled
  4. IIS7.5 500.19的解决方法 错误代码 0x8007007e
  5. React中Mpegts播放器的使用
  6. Ardupilot 航线规划代码学习
  7. Spring IOC 学习总结
  8. python爬取微博评论_python爬虫抓取新浪微博数据
  9. 集团化企业的电子印章管理模式
  10. java用户登录注册