欢迎来到天天文库
浏览记录
ID:35344889
大小:63.55 KB
页数:11页
时间:2019-03-23
《微普邮件服务器项目手册2010》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、微普信息人才培养基地邮件服务器项目手册V1.0微普信息学术部著目录第1章项目需求11.1引言11.1.1编写目的11.1.2范围11.2项目概述11.2.1产品描述11.2.2产品功能11.2.3一般约束21.3项日要求21.3.1SMTP/P0P3服务器分别设计成为一个守护进程21.3.2程序必须接受三个参数start,stop,restart21.3.3程序要捕获以下信号并做相应处理21.3.4要实现的SMTP(ESMTP)/POP3命令列表3微普邮件服务器项目需求1-1引言1.1.1编写目的帮助学员了解项目的功能,明确需求功能屮用户对系统要做什么的要求,了解需求中的各种业务规则。1.
2、1.2范围软件的名称:邮件服务器软件的功能:提供邮件的发送(包括群发和转发)和接收的功能。1.2项目概述1.2.1产品描述邮件服务器的主要功能是发送和接收邮件以达到数据信息传递和共享的目的。它包含两部分:负责发送邮件的SMTP服务器和负责接收邮件的POP3服务器。在LINUX底下开发邮件服务器旨在帮助学员综合运用LINUX初级编程与LINUX高级编程所学到的知识。女山字符串数据的处理,守护进程的编写,进程间通信,多线程,管道,SOCKET编程,文件I/O标准库函数与系统调用,以及文件权限管理等等。这里实际上要编写两个服务器程序,一个实现SMTP协议完成邮件的发送功能,一个实现POP3协议完
3、成邮件的接收功能。注意分开实现!122产品功能必需要实现的软件功能:Cwe-pull.com1.支持SMTP/ESMTP/P0P3协议常用核心指令2.支持邮件的群发和转发3.使用Telnet,Outlook,Foxmail等客户端程序全部测试通过1.2.3-*般约束编程语言:使用标准C编程语言。运行坏境:RHEL5(RedhatEnterpriseLinux5/CentOS5)1.3项目要求1.3.1项目要求用多文件,并编写Makefile来编译。1.3.2SMTP/POP3服务器分别都要设计成为一个守护进程守护进程是在后台运行不受终端控制的进程。1.3.3使用Shell脚本来实现star
4、t,stop,restart假定两个邮件服务程序的可执行文件为wpsmtpd>wppop3d,编写的Shell脚本分别为smtp.sh>pop3.sho可以分别用./smtp.shstart>./pop3.shslarl来启动wpsmtpdwppop3d服务器。,用./smlp.shstop>./pop3.shstop停止,用./smlp.shrestart>./pop3.shrestart重启。停止服务器的时候,要注意删除各自的共亨内存与信号量。1.3.4服务程序要捕获以下信号并做相应处理S1GHUPSIGQUITSIGCHLD进行清理工作,共享内存与信号量进行清理工作,共享内存与信号量
5、调用wait避免僵死进程SIGPIPE忽略1.3.5要求用配置文件来对项目的一些参数进行配置服务器能接收的最大连接数,以及超时设置等1・3・6客户端空闲处理如果服务器端在一定时间(这个时间对以通过配置文件配置)没有收到客户端的请求,服务器端要退出为该客户端服务的进程,以便腾出资源为其他更多的客户端服务。1.3.7要实现的SMTP/ESMTP命令列表命令类型命令功能说明SMTP(ESMTP)协议命令,一般命令的格式是:Command[Param]HELO用户问候信息EHLO带验证的用户问候信B(ESMTP)AUTH(LOGIN)带验证的用户登录(ESMTP),注意BASE64编码MAIL(F
6、ROM)指定发件人RCPT(TO)指定收件人(该命令可以重复多次出现)DATA指定要发送的邮件正文RSET重置状态QUIT客户端退出1・3・8要实现的POP3命令列表命令类型命令功能说明POP3协议命令,一般命令的格式是:Command[Param]USER用户账号PASS用户密码STAT用户邮箱状态信息LIST用户邮箱信息列表RETR要获取的邮件DELE指定要删除的邮件RSET重置待删除邮件列表NOOP测试与服务器的连接是否正常UIDL获取邮件的UIDLTOP获取邮件的头部信息QUIT客户端退出备注1:SMTPIE确交互过程:S:220xxxC:HELOxxxS:250xxxC:MAIL
7、FROM:S:250xxxC:RCPTTO:(可以重复出现)S:250xxxC:DATAS:354xxxC:邮件头+邮件体(多行).(单独一行,邮件结束的标识,很重要!)S:250C:QUITS:221xx备注2:ESMTP正确交互过程:S:220xxxC:EHLOxxxS:250-WepuIIMailServer250-PIPELINING250-AUTH=L
此文档下载收益归作者所有