邮件协议(SMTP)性能测试总结(Foxmail邮箱)
https://www.cnblogs.com/luihengk/p/6102095.html
先介绍一下邮件协议SMTP的工作机制(连接和发送过程),用wireshark工具抓包进行分析,如下:
SMTP协议的工作机制(连接和发送过程):
1.建立TCP连接,并将邮件服务器地址给客户端;
2.客户端发送EHLO命令以标识发件人自己的身份,然后客户端登录邮件服务器;
3.客户端先标示电子邮件的发件人发送MAIL命令,服务器端以OK作为响应,表明准备接收;
4.客户端发送RCPT 命令,以标识该电子邮件的计划接收人,可以有多个RCPT行, 服务器端以OK作为响应,表示愿意为收件人接收邮件;
5.客户端用命令DATA发送数据;
6.以.表示结束输入内容一起发送出去,服务器端并以OK作为响应;
7.客户端结束发送,用QUIT命令退出,服务器端以Bye作为响应,表示结束;
了解了邮件协议SMTP的工作机制后,下面开始进行性能测试:
一、先安装好邮件客户端FoxMail,被配置好邮件服务器等信息;
二、使用LoadRunner录制脚本
三、生成脚本,并优化脚本
Tasks目录:
接收邮件脚本:
发送邮件脚本:
脚本分析:
1)整体上的分析,接收邮件操作和发送邮件操作在Tasks目录分别生成一对.dat文件,打开.dat文件可以查看到附件的信息(附件类型、内容等);
2)接收邮件和发送邮件的脚本函数是一样的,邮件协议的工作过程是:登录到邮件服务器à发送消息à退出邮件服务器à释放邮件服务器;
3)脚本优化(参数化)
四、执行测试
1)在Contorller场景压力过程中,出现大量的报错,如图1:
查看日志,是由于用户多登陆时,session连接数已经满了,邮件服务器不允许重复登录。当连接数满的时候,需要清理一下。
2)在Contorller场景过程中,出现大量的报错,如图2,3:
这是由于邮件处理的原理是以队列的形式发送的,当多用户并发时,队列阻塞,发送请求和服务响应会出现大量报错信息,场景运行到12分30秒时响应时间没了,此时所有的用户已经处理完成。
3)启动LR录制时,工具先会判断邮件服务器和客户端之间的连接,是否有未接收的邮件显示(因邮件客户端设置不是时时接收邮件),录制日志如图4:
附录:
附录:
SMTP常用的响应
501——参数格式错误
502——命令不可实现
503——错误的命令序列
504——命令参数不可实现
211——系统状态或系统帮助响应
214——帮助信息
220<domain>——服务器就绪
221<domain>——服务关闭
421<domain>——服务器未就绪,关闭传输信道
250——要求的邮件操作完成
251——用户非本地,将转发向<forward-path>
450——要求的邮件操作未完成,邮箱不可用
550——要求的邮件操作未完成,邮箱不可用
451——放弃要求的操作,处理过程中出错
551——用户非本地,请尝试<forward-path>
452——系统存储不足,要求的操作未执行
552——过量的存储分配,要求的操作未执行
553——邮箱名不可用,要求的操作未执行
354——开始邮件输入,以“.”结束
554——操作失败
函数
使用SMTP函数
函数名 |
描述 |
smtp_logon[_ex] |
登录到SMTP服务器 |
smtp_translate[_ex] |
转换SMTP消息 |
smtp_send_mail[_ex] |
发送SMTP消息 |
smtp_free[_ex] |
释放SMTP服务器,使其不处理命令 |
smtp_logout[_ex] |
从SMTP服务器注销 |
使用POP3函数
每个POP3函数都以pop3前缀开头
函数名 |
描述 |
pop3_logon[_ex] |
登录到POP3服务器 |
pop3_command[_ex] |
想POP3服务器发送命令 |
pop3_retrieve[_ex] |
检索POP3服务器上的邮件 |
pop3_list[_ex] |
列出POP3服务器上的邮件 |
pop3_delete[_ex] |
删除服务器上的邮件 |
pop3_free[_ex] |
释放POP3服务器,使其不处理命令 |
pop3_logoff[_ex] |
从POP3服务器注销 |
转载于:https://www.cnblogs.com/davidwang456/articles/10660109.html
邮件协议(SMTP)性能测试总结(Foxmail邮箱)相关推荐
- 邮件协议SMTP、POP3和IMAP
邮件协议SMTP.POP3和IMAP SMTP (发送) POP(离线保存) IMAP(多端操作同一用户) 各种协议的host以及port 发送邮件 同一域下 不同域下 接收邮件 使用的是POP3协议 ...
- 邮件协议SMTP/POP3/IMAP——应用层
一.SMTP协议 1.SMTP协议简介 SMTP称为简单邮件传输协议(Simple Mail Transfer Protocal),目标是向用户提供高效.可靠的邮件传输.它的一个重要特点是它能够在传送 ...
- 邮件协议(SMTP、POP3、IMAP4)
文章目录 一.电子邮件系统 1.概述 2.常见的电子邮件系统(服务端) 3.常见邮件客户端 4.SMTP状态码 一.电子邮件系统 1.概述 网络电子邮件系统,好处在于,价格低廉,速度非常快 形式多样化 ...
- SMTP简单邮件协议邮件的组成、作用及过程
1. 电子邮件系统由哪几部分组成?各部分的主要作用是什么? 假设Bob(bob@ucla.edu)给Alice( alice@stanford.edu)写一封电子邮件,请描述从Bob写电子邮件到 ...
- 网安学习(二十五)HTTP协议、HTTS、邮件协议
一.HTTP协议 1.概念 HTTP(超文本传输协议)是用于在万维网服务器上传输超文本(HTML)到本地浏览器的传输协议 基于TCP/IP(HTML文件.图片.查询结构等) 2.万维网服务 采用C/S ...
- 邮箱服务器满了foxmail,foxmail邮箱的容量满了,应该怎样删除-上海腾讯企业邮箱[foxmail]...
foxmail邮箱的容量满了,应该怎样删除? 作者:腾讯企业邮箱客户端 发布时间:2021-01-16 10:20:20 访问量:1546 来源:foxmail 导读:在日常办公中,很多职场 ...
- 邮箱服务器满了foxmail,关于foxmail邮箱满了的解决方法,简单有效
关于foxmail邮箱满了的解决方法,简单有效 2020-04-20 已有人学习| 编辑:machine; 来源:知识屋; 在日常办公中,很多职场白领都习惯使用foxmail来收发邮件.如果来往邮件比 ...
- 邮件协议POP3/IMAP/SMTP学习总结 SSL/TLS介绍 常用邮箱服务器设置
邮箱协议介绍 首先,SMTP.POP和IMAP都是与邮件有关的协议.SMTP主要是负责传送邮件,而POP和IMAP是负责接收邮件. SMTP SMTP (Simple Mail Transfer Pr ...
- foxmail邮件加载失败重试_TP5实现邮件发送(PHP 利用QQ邮箱发送邮件「PHPMailer」)...
修改php.ini中的一些配置 extension=php_openssl.dll //前面的分号去掉,allow_url_fopen = Off 改为 allow_url_fopen = On PH ...
最新文章
- python 验证码识别示例(二) 复杂验证码识别
- LeetCode第九题—— Palindrome Number(判断回文数)
- Java 项目权威排名:Spring生态抢镜,Gradle战胜Maven排第2,点击查看更多...
- idea的一些常用快捷键
- 设计模式(十)——抽象工厂模式
- 取代java_为什么C++没有被java取代
- linux学习之lvm-逻辑卷管理器
- java发送qq邮件_「java发邮件」Java 通过SMTP实现发送QQ邮件 - seo实验室
- python中arcpy_如何使用ArcPy?
- redis集群管理-5.0.14版本
- 计算机硬件部份的核心部件是,计算机硬件的核心部分是什么?
- java socket多人聊天室_如何运用Java socket实现多人聊天室功能
- pikachu靶场通关指南
- 从0到1快速了解netty长连接网关协议
- html5 canvas 图片移动端,支持移动端的HTML5 Canvas逼真黑板特效
- Mysql错误编码和解释表
- 电脑显示U盘,但是读取不了
- java报表查询 跟 语句查询区别_Java报表FineReport在医院院长查询分析系统中有什么用...
- Microsoft Office 97(微软Office办公软件)绿色经典珍藏版 | office97中文版下载
- 使用blender将全景图转为天空盒图
热门文章
- 51Nod - 2142身份证号排序
- tcp/ip 协议栈Linux内核源码分析12 udp套接字发送流程一
- distinct作用于后面所有的列吗_InnoDB索引允许NULL对性能有影响吗
- bootstrap 彈窗默認打開_Bootstrap 手册 07 - JS 组件篇
- python中collections_Python中collections模块的基本使用教程
- python dump函数_python 处理 json 四个函数dumps、loads、dump、load的区别
- 长春8中2021年高考 成绩查询,长春八中2018高考喜报成绩、本科重本上线人数情况...
- java语言修饰符$_Java语言中的修饰符
- android usb集线器,通过Maven将多个部署到USB集线器上的Android设备
- linux文件目录操作实验报告,Linux操作系统实验4文件和目录操作