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

SMTP邮件服务器实验1. 实验内容和实验环境描述 实验任务:使用Socket API编写一个SMTP邮件服务器程序 实验内容:1)作为SMTP服务器,接收邮件客户端程序的TCP连接请求,接收SMTP

SMTP邮件服务器实验 1. 实验内容和实验环境描述 实验任务:使用Socket API编写一个SMTP邮件服务器程序 实验内容:1)作为SMTP服务器,接收邮件客户端程序的TCP连接请求,接收SMTP命令和邮件数据,将 邮件保存在文件中; 2)作为SMTP客户端,建立到实际邮件服务器的TCP连接,发送SMTP命令,将保存的邮件发送 给实际邮件服务器; 3)提供邮件差错报告:将实际邮件服务器的差错报告转发给邮件客户端软件; 4)支持一封邮件多个接收者,要求接收者属于不同的域(如bupt.edu.cn、163.com、 aliyun.com,…); 5)提供发件人和收件人Email地址格式检查功能,例如下列邮件地址是错误的:chengli, chengli@,bupt.edu.cn, …. 。 实验环境:Microsoft Visual Studio 2010 2. 软件设计 (1) 数据结构: mail_from[4096]; char //存发件地址 rcpt_to[5][4096]; char //存收件地址 data[4096]; char //存Data imf[4096]; char //存邮件标准格式 WORD A; //加载套接字库 WSADATA B; //储存调用WSAStartup函数返回的Windows Sockets初始化信息 err; int //报错标志 SOCKET sockSrv; //创建用于监听客户端的套接字 SOCKADDR_IN addrSrv; //作为服务器端的socket地址 recvBuf[4096]=; char //接收客户端SMTP指令 "" (2) 模块结构: [1]main();//服务器端,用于从客户端接收储存邮件 [2]main_clicenet(SOCKET s);//客户端,用于将收到的邮件转发到邮件服务器,同时将邮件服务器的错 误报告通过SOCKET s转发给客户端 [3]ValidEmail( *addr);//收发 char 件地址(addr)合法性监测

腾讯文库SMTP邮件服务器实验报告及源代码