一、实验目的及任务
编写一个简单的SMTP服务器,要求实现的功能如下所示:
实现的服务器应能与outlook express等现有的客户端进行简单的交互
记录浏览器与服务的交互过程
在屏幕上直接显示接收到的邮件内容
将邮件附件中的图像(如bmp或jpg图像)显示在屏幕上
可以采用C/C++或Java语音进行实现
系统环境:Windows 10 家庭中文版 1607
WireShark:Version 2.2.1
IDE:Visual Studio 2015 Update 3
调试环境:MFC Release x86
编程语言:C++
利用Winsock实现本地SMTP服务器,并实现与邮件客户端(如outlook)的交互。
SMTP工作原理如下所示:
客户端使用TCP协议连接SMTP服务器的25端口
客户端发送HELO报文将自己的域地址告诉给SMTP服务器
SMTP服务器接受连接请求,向客户端发送请求账号密码的报文(AUTH LOGIN)
客户端向SMTP服务器传送账号和密码,如果验证成功,向客户端发送一个OK命令,表示可以开始报文传输
客户端使用MAIL命令将邮件发送者的名称发送给SMTP服务器
SMTP服务器发送OK命令做出响应
客户端使用RCPT命令发送邮件接收者地址,如果SMTP服务器能识别这个地址,就向客户端发送OK命令,否则拒绝这个请求
收到SMTP服务器的OK命令后,客户端使用DATA命令发送邮件的数据
客户端发送QUIT命令终止连接
源码下载地址:https://www.write-bug.com/article/1374.html