Python发送邮件成功的前提,应是先开启授权码。目前使用广泛的邮箱有:163邮箱、qq邮箱等。

163邮箱开启授权码的方法如下图:

qq邮箱开启授权码的方法如下图:

接下来代码的实现:

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication
class SendEmail:
def email(self,body, attach):
# 发送邮箱
sender = 'xxx@163.com'
# 接收邮箱
receivers = 'xxx@163.com' msg = MIMEMultipart()
#邮箱的主题
msg['Subject'] = '测试报告'
msg['From'] = sender
msg['To'] = receivers content = MIMEText(body,'html','utf-8')
msg.attach(content)
#添加附件,并命名
attachment = MIMEApplication(open(attach, 'rb').read())
attachment.add_header('Content-Disposition', 'attachment', filename='report.rar')
msg.attach(attachment) try:
#连接邮箱的服务器及端口号,以163邮箱为例
smtpObj = smtplib.SMTP_SSL('smtp.163.com','')
#登录邮箱:用户名及密码
smtpObj.login(user='xxx@163.com', password='xxx')
smtpObj.sendmail(sender, receivers, str(msg))
smtpObj.quit()
print("邮件发送成功")
except smtplib.SMTPException:
print("Error: 无法发送邮件") if __name__ == '__main__':
#以同一目录中的report.html为例
with open("./report.html",'r',encoding="utf-8") as file:
body=file.read()
#以同一目录中的report.rar为例添加附件
SendEmail().email(body,"./report.rar")

python实现自动发送邮件的更多相关文章

  1. python selenium-7自动发送邮件

    https://jingyan.baidu.com/article/647f0115b78f8d7f2148a8e8.html 1.发送HTML格式的邮件 import smtplib from em ...

  2. python如何自动发送邮件

    #coding=utf-8 import smtplib from email.mime.text import MIMEText from email.mime.application import ...

  3. python☞自动发送邮件

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

  4. 用Python自动发送邮件

    用Python自动发送邮件     最近需要在服务器上处理一些耗时比较长的任务,因此想到利用python写一个自动发送邮件的脚本,在任务执行完毕后发送邮件通知我.以下代码以163邮箱为例: 开通163 ...

  5. python+selenium生成测试报告后自动发送邮件

    标签(空格分隔): 自动化测试 运行自动化脚本后,会产生测试报告,而将测试报告自动发送给相关人员,能够让对方及时的了解测试情况,查看测试结果. 整个脚本包括三个部分: 生成测试报告 获取最新的测试报告 ...

  6. Python 自动发送邮件

    简单邮件传输协议(SMTP)是一种协议,用于在邮件服务器之间发送电子邮件和路由电子邮件.Python提供smtplib模块,该模块定义了一个SMTP客户端会话对象,可用于使用SMTP或ESMTP侦听器 ...

  7. 利用Python自动发送邮件

    # -*- coding:utf-8 -*-from email.mime.text import MIMETextfrom email.header import Headerimport smtp ...

  8. python 自动发送邮件遇到的问题

    在学习自动化测试高级应用,根据内容写关于自动发送邮件出现了几个问题以及解决办法: 问题1: 代码写好之后,运行的时候,出现如下报错: SMTPAuthenticationError: (550, '\ ...

  9. Python3.x:定时自动发送邮件

    定时自动发送邮件 一.简述 python发邮件需要掌握两个模块的用法,smtplib和email,这俩模块是python自带的,只需import即可使用.smtplib模块主要负责发送邮件,email ...

随机推荐

  1. <每日一题>Day 9:POJ-3281.Dining(拆点 + 多源多汇+ 网络流 )

    Dining Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 24945   Accepted: 10985 Descript ...

  2. JDK11 | 第四篇 : 增强API

    文章首发于公众号<程序员果果> 地址 : https://mp.weixin.qq.com/s/O0xntC-JfeSBk-9x2QfwnA 一.简介 JDK 9~11 在语言语法方面有一 ...

  3. AcWing 154. 滑动窗口(模板)

    (https://www.acwing.com/problem/content/156/) 给定一个大小为n≤106n≤106的数组. 有一个大小为k的滑动窗口,它从数组的最左边移动到最右边. 您只能 ...

  4. 不定参数(rest 参数 ...)

    不定参数 如何实现不定参数 使用过 underscore.js 的人,肯定都使用过以下几个方法: _.without(array, *values) //返回一个删除所有values值后的array副 ...

  5. 魔板 (bfs+康托展开)

    # 10027. 「一本通 1.4 例 2」魔板 [题目描述] Rubik 先生在发明了风靡全球魔方之后,又发明了它的二维版本--魔板.这是一张有 888 个大小相同的格子的魔板: 1 2 3 4 8 ...

  6. vi编辑器没有颜色的解决办法

    Centos里的VI只默认安装了vim-minimal-7.x.所以无论是输入vi或者vim查看文件,syntax功能都无法正常启用.因此需要用yum安装另外两个组件:vim-common-7.x和v ...

  7. BUUCTF--findit

    测试文件:https://buuoj.cn/files/7b8602971727c6c82ec0d360d5cad2c0/6a428ff2-25d7-403c-b28e-3f980a10a5a2.ap ...

  8. VNware上安装虚拟机Ubuntu16.10 并安装petalinux(版本问题的坑 弃帖 另开一帖)

    1.下载Ubuntu镜像文件 最新版本:https://ubuntu.com/download/desktop 老版本:http://old-releases.ubuntu.com/releases/ ...

  9. 命令行界面CLI

    1.hive   -e --执行一个或多个查询 hive -e "select * from student limit 3" 2. hive -e     > 将临时查询保 ...

  10. PHP与CI学习笔记

    CodeIgniter框架学习 安装 下载好包后,解压复制 system 和 application 目录到网站目录下 配置 配置目录 打开index.php设置好 $system_path . $a ...