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

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

相关文章

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

macOS Sequoia 15.5 发布: 改进邮件和屏幕使用时间功能

《macOSSequoia15.5发布:改进邮件和屏幕使用时间功能》经过常规Beta测试后,新的macOSSequoia15.5现已公开发布,但重要的新功能将被保留到WWDC和... MACOS Sequoia 15.5 正式发布!本次更新为 Mac 用户带来了一系列功能强化、错误修复和安全性提升,进一步增

使用Python和SQLAlchemy实现高效的邮件发送系统

《使用Python和SQLAlchemy实现高效的邮件发送系统》在现代Web应用中,邮件通知是不可或缺的功能之一,无论是订单确认、文件处理结果通知,还是系统告警,邮件都是最常用的通信方式之一,本文将详... 目录引言1. 需求分析2. 数据库设计2.1 User 表(存储用户信息)2.2 CustomerO

PyQt5+Python-docx实现一键生成测试报告

《PyQt5+Python-docx实现一键生成测试报告》作为一名测试工程师,你是否经历过手动填写测试报告的痛苦,本文将用Python的PyQt5和python-docx库,打造一款测试报告一键生成工... 目录引言工具功能亮点工具设计思路1. 界面设计:PyQt5实现数据输入2. 文档生成:python-

如何使用C#串口通讯实现数据的发送和接收

《如何使用C#串口通讯实现数据的发送和接收》本文详细介绍了如何使用C#实现基于串口通讯的数据发送和接收,通过SerialPort类,我们可以轻松实现串口通讯,并结合事件机制实现数据的传递和处理,感兴趣... 目录1. 概述2. 关键技术点2.1 SerialPort类2.2 异步接收数据2.3 数据解析2.

Java使用Mail构建邮件功能的完整指南

《Java使用Mail构建邮件功能的完整指南》JavaMailAPI是一个功能强大的工具,它可以帮助开发者轻松实现邮件的发送与接收功能,本文将介绍如何使用JavaMail发送和接收邮件,希望对大家有所... 目录1、简述2、主要特点3、发送样例3.1 发送纯文本邮件3.2 发送 html 邮件3.3 发送带

Windows server服务器使用blat命令行发送邮件

《Windowsserver服务器使用blat命令行发送邮件》在linux平台的命令行下可以使用mail命令来发送邮件,windows平台没有内置的命令,但可以使用开源的blat,其官方主页为ht... 目录下载blatBAT命令行示例备注总结在linux平台的命令行下可以使用mail命令来发送邮件,Win

使用Java发送邮件到QQ邮箱的完整指南

《使用Java发送邮件到QQ邮箱的完整指南》在现代软件开发中,邮件发送功能是一个常见的需求,无论是用户注册验证、密码重置,还是系统通知,邮件都是一种重要的通信方式,本文将详细介绍如何使用Java编写程... 目录引言1. 准备工作1.1 获取QQ邮箱的SMTP授权码1.2 添加JavaMail依赖2. 实现

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

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

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

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