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. Oracle数据库用户介绍

    Oracle数据库创建的时候,创建了一系列默认的用户,有时候可能我们不小心忘记创建了某个用户,比如SCOTT用户,我们就需要使用Oracle提供的脚本来创建,介绍如下: 1.SYS/change_on ...

  2. HTML+CSS ,原型

    此图是别人所作

  3. regularexpressionvalidator验证控件使用实例

    一:电话号码验证: 格式如:0755-24256888:带分机格式:0755-24256888-282:手机:11位数字 (^(\d{3,4}-)?\d{6,8}$)|(^(\d{3,4}-)?\d{ ...

  4. 系统盘(c盘)空间清理方法总结(转)

      我们一般会把系统安装在C盘,但是使用一段时间后会发现C盘的空间越来越少.尤其我们做开发的,会在电脑中装上很多软件的.比如我的机器上C盘空间15G,平时安装软件时只要可以选择我都会把它装到其他盘的, ...

  5. 微信公众号获取微信token

    微信在公众号和小程序的开发都有开放文档一般看文档开发就行,很简单这里写一个小demo获取微信token,之后根据自己的业务获取信息处理即可 package com.demo.ccx; import o ...

  6. Storm分布式集群搭建

    一.storm版本 选用storm0.9.6 二.本地模式 用于对storm业务逻辑的调试和测试,可以直接在本地运行. 三.分布式模式 生产环境,需要对应的zookeeper.nimbus.super ...

  7. java httpclient basic授权

    import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.HttpS ...

  8. 2018-8-10-cant-found-Microsoft.VSSDK.BuildTools.15.0.26201

    title author date CreateTime categories cant found Microsoft.VSSDK.BuildTools.15.0.26201 lindexi 201 ...

  9. django中collectstatic的使用

    前言 我最近在琢磨django框架的使用,在上传个人网站服务器上时,再次遇到了找不到静态文件,css.img等样式全无的问题.于是沉下心来,好好研究了django的静态文件到底应该怎么去部署(depl ...

  10. 将Java对象序列化成JSON和XML格式

    1.先定义一个Java对象Person: public class Person { String name; int age; int number; public String getName() ...