基于MFC的SMTP服务器

一、实验目的及任务

编写一个简单的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

转载于:https://my.oschina.net/u/4185264/blog/3087250

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值