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. Python 中的作用域?

    Python 中,一个变量的作用域总是由在代码中被赋值的地方所决定. 当 Python 遇到一个变量的话,它会按照这的顺序进行搜索:本地作用域(Local)--->当前作用域被嵌入的本地作用域( ...

  2. MVC调用函数function.php

    <?php //控制器的调用函数C function C($name, $method){ require_once('/libs/controller/'.$name.'Controller. ...

  3. Elasticsearch7.X 入门学习第五课笔记---- - Mapping设定介绍

    原文:Elasticsearch7.X 入门学习第五课笔记---- - Mapping设定介绍 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本 ...

  4. svn登录问题

    转载自: https://www.cnblogs.com/WQX-work24/p/9790260.html 版权归该作者所有.

  5. Vue slot-scope的理解(适合初学者)

    百度上已经有很多的关于slot-scope的文章,但我感觉都是那些以前没学好,又回头学的人,他们都使用了.Vue文件,我觉得有点不适合初学者,所以我就写一篇适合初学者的. 先抛例程: <!DOC ...

  6. lua视频教程三套高清新

    目录 1. 下载地址 2. 某网校 Lua 经典教程 3. lua脚本语言零基础开发教程19课全 4. LUA完整视频+Cocos2d-x项目实战 1. 下载地址 https://www.cnblog ...

  7. linux NFS 的安装准备

    关闭 iptables 和 selinux [root@allentuns ~]# service iptables stop [root@allentuns ~]# chkconfig iptabl ...

  8. 基于Redis做内存管理

    1 Redis存储机制: redis存储的数据类型包括,String,Hash,List,Set,Sorted Set,它内部使用一个redisObject对象来表示所有的key和value,这个对象 ...

  9. 2018ICPC银川 L Continuous Intervals 单调栈 线段树

    题意:给你一个序列,问你这个序列有多少个子区间,满足把区间里的数排序之后相邻两个数之间的差 <= 1 ? 思路:https://blog.csdn.net/u013534123/article/ ...

  10. 对calc()的研究

    1.calc是英文单词calculate(计算)的缩写,是css3的一个新增的功能,用来指定元素的长度 calc()最大的好处就是用在流体布局上 2.calc()使用通用的数学运算规则 使用“+”.“ ...