测试报告--邮件发送(单人、多人、附件)

2024-03-21 00:58

本文主要是介绍测试报告--邮件发送(单人、多人、附件),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

实战背景描述

        将端口扫描结果存储到txt文件内,通过qq邮箱将扫描结果文件发送给其他人。

调用方法

        在实际端口扫描结束后,调用邮件发送方法即可 。

实现邮件发送代码

# !/usr/bin/python3
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.utils import formataddrmy_sender = '27860*****@qq.com'  # 发件人邮箱账号
my_pass = 'xaodfcr*******'  # 发件人邮箱密码
my_user = '523*****@qq.com'  # 收件人邮箱账号,我这边发送给自己def mail():ret = Truetry:# msg = MIMEText('填写邮件内容', 'plain', 'utf-8')msg = MIMEMultipart()msg['From'] = formataddr(["From金卷卷", my_sender])  # 括号里的对应发件人邮箱昵称、发件人邮箱账号msg['To'] = formataddr(["To绿豆麻麻", my_user])  # 括号里的对应收件人邮箱昵称、收件人邮箱账号msg['Subject'] = "端口扫描结果报告"  # 邮件的主题,也可以说是标题msg.attach(MIMEText('附件为端口扫描结果报告,请查收', 'plain', 'utf-8'))# 构造附件# att = MIMEText(open('E:\\study_socket\\第四课\\1.png', 'rb').read(), 'base64', 'utf-8')# att["Content-Type"] = 'application/octet-stream'#附件名字为非中文的写法# att["Content-Disposition"] = 'attachment; filename="1.png"'# msg.attach(att)# 构造附件2--att = MIMEText(open('界面化_扫描结果.txt', 'rb').read(), 'base64', 'utf-8')att["Content-Type"] = 'application/octet-stream'# 附件名字为中文att.add_header("Content-Disposition", "attachment", filename=("gbk", "", "界面化_扫描结果.txt"))msg.attach(att)server = smtplib.SMTP_SSL("smtp.qq.com", 465)  # 发件人邮箱中的SMTP服务器,端口是25server.login(my_sender, my_pass)  # 括号中对应的是发件人邮箱账号、邮箱密码server.sendmail(my_sender, [my_user, ], msg.as_string())  # 括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件server.quit()  # 关闭连接except Exception:  # 如果 try 中的语句没有执行,则会执行下面的 ret=Falseret = Falsereturn ret
# ret = mail()def send_mail():ret = mail()if ret:print("邮件发送成功")else:print("邮件发送失败")
# if __name__ == '__main__':
#     send_mail()

邮件发送结果

邮件发送给多人

场景:从页面的输入框内获取接收人邮箱(字符串类型)
------------------------------------------------
def send_mail(url,executor_account,executor_pwd,Receivers):
#1.将获取到的邮箱列表通过“,”进行切割为列表Receivers_list = Receivers.split(',')# print (f'发件人邮箱executor_account={executor_account}')# print (f'发件邮箱的授权密码executor_pwd={executor_pwd}')# print (f'接收人邮箱列表Receivers={Receivers}')ret = Truetry:msg = MIMEMultipart()msg['From'] = formataddr(["executor_account", executor_account])  
#2.将多人邮箱通过“,”拼接后传递给 msg['To'] msg['To'] = ','.join(Receivers_list)  msg['Subject'] = "自动化运行结束"  msg.attach(MIMEText('您的自动化已执行结束,请查收~点击查看报告内容'+url, 'plain', 'utf-8'))server = smtplib.SMTP_SSL("smtp.qq.com", 465) server.login(executor_account, executor_pwd)  
#3.发送邮件时,多个收件人以列表形式传递server.sendmail(executor_account, msg['To'].split(','), msg.as_string())  # 括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件server.quit()  # 关闭连接print ("邮件发送成功")except Exception: ret = Falsereturn ret

这篇关于测试报告--邮件发送(单人、多人、附件)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/831298

相关文章

Qt实现发送HTTP请求的示例详解

《Qt实现发送HTTP请求的示例详解》这篇文章主要为大家详细介绍了如何通过Qt实现发送HTTP请求,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、添加network模块2、包含改头文件3、创建网络访问管理器4、创建接口5、创建网络请求对象6、创建一个回复对

Java中使用Java Mail实现邮件服务功能示例

《Java中使用JavaMail实现邮件服务功能示例》:本文主要介绍Java中使用JavaMail实现邮件服务功能的相关资料,文章还提供了一个发送邮件的示例代码,包括创建参数类、邮件类和执行结... 目录前言一、历史背景二编程、pom依赖三、API说明(一)Session (会话)(二)Message编程客

Java中Springboot集成Kafka实现消息发送和接收功能

《Java中Springboot集成Kafka实现消息发送和接收功能》Kafka是一个高吞吐量的分布式发布-订阅消息系统,主要用于处理大规模数据流,它由生产者、消费者、主题、分区和代理等组件构成,Ka... 目录一、Kafka 简介二、Kafka 功能三、POM依赖四、配置文件五、生产者六、消费者一、Kaf

Python手搓邮件发送客户端

《Python手搓邮件发送客户端》这篇文章主要为大家详细介绍了如何使用Python手搓邮件发送客户端,支持发送邮件,附件,定时发送以及个性化邮件正文,感兴趣的可以了解下... 目录1. 简介2.主要功能2.1.邮件发送功能2.2.个性签名功能2.3.定时发送功能2. 4.附件管理2.5.配置加载功能2.6.

解决Cron定时任务中Pytest脚本无法发送邮件的问题

《解决Cron定时任务中Pytest脚本无法发送邮件的问题》文章探讨解决在Cron定时任务中运行Pytest脚本时邮件发送失败的问题,先优化环境变量,再检查Pytest邮件配置,接着配置文件确保SMT... 目录引言1. 环境变量优化:确保Cron任务可以正确执行解决方案:1.1. 创建一个脚本1.2. 修

Django中使用SMTP实现邮件发送功能

《Django中使用SMTP实现邮件发送功能》在Django中使用SMTP发送邮件是一个常见的需求,通常用于发送用户注册确认邮件、密码重置邮件等,下面我们来看看如何在Django中配置S... 目录1. 配置 Django 项目以使用 SMTP2. 创建 Django 应用3. 添加应用到项目设置4. 创建

Android中如何实现adb向应用发送特定指令并接收返回

1 ADB发送命令给应用 1.1 发送自定义广播给系统或应用 adb shell am broadcast 是 Android Debug Bridge (ADB) 中用于向 Android 系统发送广播的命令。通过这个命令,开发者可以发送自定义广播给系统或应用,触发应用中的广播接收器(BroadcastReceiver)。广播机制是 Android 的一种组件通信方式,应用可以监听广播来执行

超越IP-Adapter!阿里提出UniPortrait,可通过文本定制生成高保真的单人或多人图像。

阿里提出UniPortrait,能根据用户提供的文本描述,快速生成既忠实于原图又能灵活调整的个性化人像,用户甚至可以通过简单的句子来描述多个不同的人物,而不需要一一指定每个人的位置。这种设计大大简化了用户的操作,提升了个性化生成的效率和效果。 UniPortrait以统一的方式定制单 ID 和多 ID 图像,提供高保真身份保存、广泛的面部可编辑性、自由格式的文本描述,并且无需预先确定的布局。

61.以太网数据回环实验(4)以太网数据收发器发送模块

(1)状态转移图: (2)IP数据包格式: (3)UDP数据包格式: (4)以太网发送模块代码: module udp_tx(input wire gmii_txc ,input wire reset_n ,input wire tx_start_en , //以太网开始发送信

Jasperreports+jaspersoft studio 实现单个或多个jrxml(jasper)文件生成一个pdf文件,并利用Servlet发送该pdf文件到浏览器中展示

Jasperreports+jaspersoft studio 实现单个或多个jrxml(jasper)文件生成一个pdf文件,并利用Servlet发送该pdf文件到浏览器中展示; 代码如下: Demo07.jrxml <?xml version="1.0" encoding="UTF-8"?><!-- Created with Jaspersoft Studio version 6.6.