网站大量收购闲置独家精品文档,联系QQ:2885784924

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

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SMTP邮件服务器实验报告及源代码

SMTP邮件服务器实验1. 实验内容和实验环境描述实验任务:使用Socket API编写一个SMTP邮件服务器程序实验内容:1)作为SMTP服务器,接收邮件客户端程序的TCP连接请求,接收SMTP命令和邮件数据,将邮件保存在文件中; 2)作为SMTP客户端,建立到实际邮件服务器的TCP连接,发送SMTP命令,将保存的邮件发送给实际邮件服务器; 3)提供邮件差错报告:将实际邮件服务器的差错报告转发给邮件客户端软件; 4)支持一封邮件多个接收者,要求接收者属于不同的域(如、163.com、,…); 5)提供发件人和收件人Email地址格式检查功能,例如下列邮件地址是错误的:chengli,chengli@,, …. 。实验环境:Microsoft Visual Studio 20102. 软件设计(1) 数据结构:char mail_from[4096];//存发件地址char rcpt_to[5][4096];//存收件地址char data[4096];//存Datachar imf[4096];//存邮件标准格式WORD A;//加载套接字库WSADATA B;//储存调用WSAStartup函数返回的Windows Sockets初始化信息int err;//报错标志SOCKET sockSrv;//创建用于监听客户端的套接字SOCKADDR_IN addrSrv;//作为服务器端的socket地址char recvBuf[4096]=;//接收客户端SMTP指令(2) 模块结构:[1]main();//服务器端,用于从客户端接收储存邮件[2]main_clicenet(SOCKET s);//客户端,用于将收到的邮件转发到邮件服务器,同时将邮件服务器的错误报告通过SOCKET s转发给客户端[3] ValidEmail(char *addr);//收发件地址(addr)合法性监测(3) 算法流程:画出流程图,描述算法的主要流程。Main()Load Windows Sockets;创建用于监听的socket;绑定socket和sockaddr;将socket设为监听模式;While(1)请求队列非空则抽取第一个链接建立连接;打开邮件储存文件;Send:220recv:EHLO ; Send:250 OK recv:MAIL FROM:... T 发 件 地址 合 法 FSend:550 Invalid User ; continueSend:250 OK recv: RCPT TO:....;检查合法性While(recv!=DATA)recv: RCPT TO:....;检查合法性Send:250 OKRecv:DATAsend:354 Start mail input;end with CRLF.CRLF\r\n recv: DATA fragment, ...bytesSend:250 recv:IMF; send 250 recv: . Send:QUIT调用客户端程序关闭套接字关闭文件指针释放分配的套接字资源(4) 主要功能模块的实现要点[1]main();//服务器端,用于从客户端接收储存邮件实现要点:与客户端建立连接,根据SMTP协议标准进行通信。[2]main_clicenet(SOCKET s);//客户端,用于将收到的邮件转发到邮件服务器,同时将邮件服务器的错误报告通过SOCKET s转发给客户端实现要点:与服务器端建立连接,根据SMTP协议标准进行通信。[3] ValidEmail(char *addr);//收发件地址(addr)合法性监测实现要点:根据标准email地址格式进行合法性监测3 实验结果演示及分析(1) 对于你所实现的功能,逐个进行测试,并将输出截图。普通邮件群发: 1 2 34错误报告:12(2) 你的程序是否提供了差错处理功能?可以对哪些差错进行处理?[1] 将实际邮件服务器的差错报告转发给邮件客户端软件;[2]监测收发件邮箱地址格式是否正确(3) 和课堂上学习的SMTP协议相比,你的程序是否完全按照协议来实现,是否有不同之处?和实际的SMTP服务器相比,你的程序有哪些优点和不足?不是。因为main函数无法从客户端收取用户名和密码,故跳过AUTH LOGIN部分,直接开始MAILFROM:……。优点:代码功能较为简洁易懂。不足:未实现用户合法性监测。以及收发件邮箱地址是否实际存在。4 实验总结和心得体会描述你在调试过程中都遇到了哪些问题和解决的过程。(1) 完成本次实验的实际上机调试时间是多少? 14hours。(2) 编程工具方面遇到了哪些问题?包括Windows环境和VC软件的安装问

您可能关注的文档

文档评论(0)

wuyoujun92 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档