SMTP邮件服务器实验报告及源代码.docx

SMTP邮件服务器实验报告及源代码.docx

ID:50384645

大小:594.22 KB

页数:13页

时间:2020-03-05

SMTP邮件服务器实验报告及源代码.docx_第1页
SMTP邮件服务器实验报告及源代码.docx_第2页
SMTP邮件服务器实验报告及源代码.docx_第3页
SMTP邮件服务器实验报告及源代码.docx_第4页
SMTP邮件服务器实验报告及源代码.docx_第5页
资源描述:

《SMTP邮件服务器实验报告及源代码.docx》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、SMTP邮件服务器实验1.实验内容和实验环境描述实验任务:使用SocketAPI编写一个SMTP邮件服务器程序实验内容:1)作为SMTP服务器,接收邮件客户端程序的TCP连接请求,接收SMTP命令和邮件数据,将邮件保存在文件中;2)作为SMTP客户端,建立到实际邮件服务器的TCP连接,发送SMTP命令,将保存的邮件发送给实际邮件服务器;3)提供邮件差错报告:将实际邮件服务器的差错报告转发给邮件客户端软件;4)支持一封邮件多个接收者,要求接收者属于不同的域(如bupt.edu.cn、163.com、aliyun.com,…);5)提供发件人和收件人Email地址格式检查功能,例如下列邮件地址

2、是错误的:chengli,chengli@,bupt.edu.cn,….。实验环境:MicrosoftVisualStudio20102.软件设计(1)数据结构:charmail_from[4096];//存发件地址charrcpt_to[5][4096];//存收件地址chardata[4096];//存Datacharimf[4096];//存邮件标准格式WORDA;//加载套接字库WSADATAB;//储存调用WSAStartup函数返回的WindowsSockets初始化信息interr;//报错标志SOCKETsockSrv;//创建用于监听客户端的套接字SOCKADDR_INa

3、ddrSrv;//作为服务器端的socket地址charrecvBuf[4096]="";//接收客户端SMTP指令(2)模块结构:[1]main();//服务器端,用于从客户端接收储存邮件[2]main_clicenet(SOCKETs);//客户端,用于将收到的邮件转发到邮件服务器,同时将邮件服务器的错误报告通过SOCKETs转发给客户端[3]ValidEmail(char*addr);//收发件地址(addr)合法性监测(3)算法流程:画出流程图,描述算法的主要流程。Main()LoadWindowsSockets;创建用于监听的socket;绑定socket和sockaddr;将s

4、ocket设为监听模式;While(1)请求队列非空则抽取第一个链接建立连接;打开邮件储存文件;Send:220recv:EHLO;Send:250OKrecv:MAILFROM:<...>T发件地址合法FSend:550InvalidUser;continueSend:250OKrecv:RCPTTO:<....>;检查合法性While(recv!=DATA)recv:RCPTTO:<....>;检查合法性Send:250OKRecv:DATAsend:354Startmailinput;endwith.rrecv:DATAfragment,...b

5、ytesSend:250recv:IMF;send250recv:.Send:QUIT调用客户端程序关闭套接字关闭文件指针释放分配的套接字资源(4)主要功能模块的实现要点[1]main();//服务器端,用于从客户端接收储存邮件实现要点:与客户端建立连接,根据SMTP协议标准进行通信。[2]main_clicenet(SOCKETs);//客户端,用于将收到的邮件转发到邮件服务器,同时将邮件服务器的错误报告通过SOCKETs转发给客户端实现要点:与服务器端建立连接,根据SMTP协议标准进行通信。[3]ValidEmail(char*addr);//收发件地址(addr)合法性监测实现要点:

6、根据标准email地址格式进行合法性监测3实验结果演示及分析(1)对于你所实现的功能,逐个进行测试,并将输出截图。普通邮件群发:1>2>3>4>错误报告:1>2>(2)你的程序是否提供了差错处理功能?可以对哪些差错进行处理?[1]将实际邮件服务器的差错报告转发给邮件客户端软件;[2]监测收发件邮箱地址格式是否正确(3)和课堂上学习的SMTP协议相比,你的程序是否完全按照协议来实现,是否有不同之处?和实际的SMTP服务器相比,你的程序有哪些优点和不足?不是。因为main函数无法从客户端收取用户名和密码,故跳过AUTHLOGIN部分,直接开始MAILFROM:<……>。优点:代码功能较为简洁易

7、懂。不足:未实现用户合法性监测。以及收发件邮箱地址是否实际存在。4实验总结和心得体会描述你在调试过程中都遇到了哪些问题和解决的过程。(1)完成本次实验的实际上机调试时间是多少?14hours。(2)编程工具方面遇到了哪些问题?包括Windows环境和VC软件的安装问题。没。(3)编程语言方面遇到了哪些问题?包括C语言使用和对C语言操控能力上的问题。涉及到Socket方面的函数由于初次接触使用尚不熟练。(4)协议方面遇到了

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。