1、邮件服务器毕业设计基于Linux系统下的邮件服务器所 在 系信息工程系专 业网络工程班 级B041111学 号B04111131姓 名于硕指导教师牛国新负责教师吴兰兰沈阳航空航天大学北方科技学院2014年6月摘 要电子邮件服务由专门的服务器提供。主要的电子邮件服务器主要有基于Postfix/Sendmail的邮件系统,也是在企业中使用数量最多的邮件系统。其性能可以达到非常高,而且安全性很好,同时软件是开源免费的。本套系统采用B/S模式开发,由服务器端和客户端两部分构成。服务器端除了提供最基本的收发邮件功能之外,它还具有注册新用户、管理用户、群发邮件等功能。客户端分为普通用户端和管理员端。普通用
2、户端可实现基本的注册、收发邮件,修改个人资料等功能,管理员端主要实现群发邮件功能,以方便主管领导发送紧急通知,除此之外,它还可以实现浏览用户信息以及删除用户等操作。论文从需求分析、系统设计、详细设计、系统调试与测试等方面对系统的设计过程进行了详细的描述,并对系统待完善之处提出了建议。关键词:Linux系统;邮件服务;域名解析;服务器AbstractE-mail service provided by a dedicated server, but the system of large mail service providers are generally developed or to o
3、ther technology development and implementation of two times. The e-mail server is a mail system based on Postfix/Sendmail. Use the largest number of mail system in enterprise. mail system based on Postfix/Sendmail is in need of a strong technical force to realize, but performance can reach very high
4、, but very good security, and is open source and free software. This system developed based on Browser / Server module, which contains server and client. This system is constituted with server and webmail.The server provides the basic function that user can use it to send and receive mail.Besides,it
5、 also provides other functions such as :registering a new account. managing users information. sending system message. receive and send a mail, reform persons basic message. The administrator can send many mails one time to send vital notice . In addition, the administrator also can view the users m
6、essage and delete a users account.The papers make a detailed description on the process of system design from the aspect of needs anylasis,system design,detailed design,system debugging and testing.For the places which need to be perfect,It offered a suggection.KeyWords :Linux;Sendmail;Bind;Server1
7、绪论1.1课题背景电子邮件是Internet应用最广泛的服务之一。通过网络电子邮件系统,可以用非常低廉的价格,以非常快速的方式,与世界上任何一个角落的网络用户联络,这些电子邮件可以是文字、图像、声音或其它多媒体信息。和传统的邮政系统一样,邮件传递需要邮局的支持,而电子邮件系统的“邮局”也就是邮件服务器。与传统的邮政系统相比,电子邮件更加快捷易用,经济实惠,内容丰富。邮件服务器为用户提供了邮件系统的基本结构,其包括邮件传输、邮件分发、邮件存储等功能,可以确保用户的邮件能够发送到整个Internet网络的任意角落。作为企业单位,拥有自己的电子邮件系统可以方便管理,可以随时开启或关闭公司职员的E-m
8、ail信箱,给每个有必要的员工分配自己的网络通讯标识(域名)的E-mial地址,一方面可以增加企业形象宣传力度;另一方面E-mail作为工作的工具或手段能为企业快速、高效的进行信箱或数据交换。使用邮箱系统后都是“name企业域名”这种形式,从而可以树立统一的企业品牌形象。因此一个功能完备的邮件服务器对于企业来说是十分重要和必要的。 1.2课题目的用户能够在对应的邮件服务器所在域中申请账号并拥有自己专门的信箱,从而能以发送和接受电子邮件的形式进行通信,有些还可以通过互联网通信,邮件服务器所扮演的角色就相当于传统邮政系统的邮局。但与传统邮局相比,能让用户更简单、快速而且经济的使用该通信工具。还能方
9、便管理,控制员工的业务操作,防止员工使用个人邮箱乱发企业资料,保障了企业信息的安全。1.3课题意义在目前的情形下,传统邮件的优势早已不在,和电子邮件相比传统邮件不仅可靠性差、耗费时间较长、价格昂贵还要花费大量的人力物力去投递传统邮件。而电子邮件则是通过网络电子邮件系统以可靠的,快速的方式,与世界上任何一个用户进行通信,这也是邮件发展的必然趋势。由于Linux操作系统作为目前应用最为广泛的开源操作系统,具有性能稳定、可靠性高和价格低廉的特点,在Linux上架构的邮件服务器可以与Postfix等开源软件共同使用,在满足用户需求的基础上,降低了系统价格。电子邮件在当今的社会中是必不可少的。很多企业的
10、邮箱都是利用网络上提供的。由于费用较高,因此很多企业现在都是自己开始自己搭建自己的邮件服务器。本方案设计在Linux操作系统下为企业搭建一个功能完善的邮件服务器。能够实现邮件用户代理(MUA)功能模块和用户传输代理(MTA)功能模块,MUA包括用户登录邮箱、电子邮件的读取、电子邮件的回复、电子邮件的编辑处理等,MTA包括电子邮件的发送、电子邮件的群发、电子邮件的认证等。1.4国内外发展现状及趋势Internet E-mail的历史可回溯到20世纪70年代早期,当第一段信息流过Arpanet(今日Internet的前身)时,E-mail就成为Internet上最广泛的应用程序,并持续到今天。以前
11、的电子邮件传递程序相当简单,通常只是将邮件文件从一部大主机搬移到另一部服务很多用户的大主机上而已。随着Internet的改进,网络本身就变得越来越复杂,邮局系统需要更有兼容性的工具才能在不同的网络之间,甚至在不同类型的网络之间传递邮件。80年代早期出现的Sendmail包就是为了应付各种不同邮件系统而设计的,它很快的成为Internet上最重要的邮差。今日,大部分的Internet网址使用的SMTP 协议来收发邮件。虽然Sendmail依然是分布最广的SMTP server,但是它也逐渐显露出不足。Sendmail 的单体式结构已经成为许多安全隐患的主因,而且难以配置和维护。截止到2013年十
12、二月底,我国网民数量达到6.18亿,在这个庞大的基数群内,邮箱使用者甚多,国内的邮箱品牌也如雨后春笋,让用户应接不暇。除了个人邮箱外,用于企业商务沟通交流的邮件服务器品牌也竞争激烈,然而,如今的邮件服务器市场竞争却呈现“同质化”的现象,让用户难以抉择。同质化是产品性能、外观、营销手段呈现模仿、趋同的现象。由此国内外发展趋势可以分为以下三类。(1) 更新换代持续进行,对大数据的存储、转移、处理能力要求提高。司邮件服务器的地位凸显,许多企业将其作为企业形象的一部分,着力打造专属“企业名片”。(2) 适配多平台,协调多种办公工具。公司邮件邮件器应用于各行各业,相当普遍的特性对其协调能力提出了要求,因
13、为每个行业采用的办公工具五花八门,需要邮件系统产品能很好的兼容和对接数据。(3) 安全性,安全是邮件产品一直以来的话题,如今数据量大,所以垃圾邮件和病毒邮件越来越多,人们的日常生活和企业的生产经营俞以来互联网,就必然要求切实保证安全。1.5课题要求根据系统上的设计明确了该系统的任务目的、邮件系统原理、工作流程和邮件服务器的架构实施。该系统主要是要实现邮件用户代理(MUA)功能模块和用户传输代理(MTA)功能模块,MUA包括用户登录邮箱、电子邮件的读取、电子邮件的回复、电子邮件的编辑处理等,MTA包括电子邮件的发送、电子邮件的群发、电子邮件的认证等。本系统为企业级服务所以用户能够在对应的邮件服务
14、器所在域中申请账号并拥有自己专门的信箱,从而能以发送和接受电子邮件的形式进行通信,有些还可以通过互联网通信,邮件服务器所扮演的角色就相当于传统邮政系统的邮局。但与传统邮局相比,能让用户更简单、快速而且经济的使用该通信工具。2 可行性分析可行性分析(feasibility study ),是世界上普遍采用的一种研究工程项目是否可行的科学。它通过各种有效的方法,对工程项目进行分析,从技术、经济、财务等方面加以评价,最终给投资决策者提供是否选择该项目进行投资的依据。2.1经济可行性分析由于电子邮件在当今的社会中是必不可少的。很多企业的邮箱都是利用网络上提供的。由于费用较高,因此很多企业现在都是自己开
15、始自己搭建自己的邮件服务器。本方案设计在Linux操作系统下为企业搭建一个功能完善的邮件服务器。由于是在试验环境下访问量比较小,服务器压力不大,所以在自己的电脑上搭建邮件服务器是可行的。本方案的邮件服务主要针对中小型企业,所以不用考虑太对的负载和性能问题,在安全性能方面可以从网络上下载病毒库来检查病毒,对于企业来说数据安全是非常重要的,如果数据被盗造成的损失非常巨大,所以搭建成功后还需要后期人员的专业维护。在服务运行后更高的安全性,才能保证公司的利益,需要专业的维护工作,所以运维工程师是计算机行业中不可缺少的,保证了服务的正常运行,减少服务崩溃时公司的损失。所以,从经济角度来讲,开发本程序是可
16、行的。2.2技术可行性分析现如今电子邮件已经是Internet中最为广泛的工具。在企业中搭建自己的服务器不仅可以方便员工管理,还是一个很好的“公司名片”。搭建邮件服务器主要采用的环境是LAMP环境即Linux系统,Apache服务,Mysql服务,PHP环境,主要工作室首先是操作系统的选择,可以是Linux或Windows,由于Linux系统操作是开源的,具有较高的稳定性,所以选择Linux系统,搭建系统是第一步的准备工作。一个服务器的正常运行需要配置自己ip还要安装搭建服务所需要的包。选择好了以后就是搭建邮件服务器的相关软件,首先要现安装DNS服务的相关软件,DNS服务主要是其他主机可以解析
17、到本机的IP地址。其次安装apache服务所需要的包,在用户解析IP地址后能够显示网页内容。最后安装邮件传输代理的Postfix服务器相关软件,如果想要使用电子邮件通信,还需要安装POP3/IMAP服务器的软件支持,这些服务需要通过修改相应的配置文件来实现想要的效果。综上所述,科研管理信息系统的开发从数据库技术、软件技术、硬件技术方面均具有可行性。2.3操作可行性分析服务器端主要是负责电子邮件的传输,当客户端用户要发送电子邮件时,首先得登录到自己的邮箱,而用户的邮箱都在服务器端有相应的磁盘存储空间,再由邮件服务器根据目的邮箱进行选择,是发给本地邮箱的用户还是发给外部的服务器,目标用户再通过登录
18、外部服务器的邮箱对电子邮件进行操作。管理员主要是在服务器端对邮件服务进行监控和对用户数据进行管理。虽然邮件服务器用的是Linux的操作系统,但是邮件系统对客户端的操作系统是没有限定的。如果是Linux客户端,除了利用客户端软件外,还可以用上面我们用到过的一些命令,比如用telnet命令发送邮件,查看邮件可以直接用vi命令打开/var/spool/mail目录下相应用户的文件夹外,也可用mail命令查看用户邮件。主要还是用web页面来管理自己的邮件。客户在网页上进行操作,操作简单页面简洁,所以本系统在操作上是可行的。2.4 法律可行性在激烈的IT行业中,邮件服务一直是竞争激烈的一项服务,带来的利
19、益客观,所以发了纠纷时常发生,主要是发生在服务的技术方面,在技术方面由于Postfix是开源软件,可以在官网上找到免费提供的软件,所以不存在技术上的法律问题。经过周密检查,本系统符合国家法律规定,没有涉及到国家安全或者商业泄密,符合知识产权法规定。通过以上从技术角度、经济角度、操作性、法律可行性角度进行的全面分析,搭建基于Linux下的邮件服务器是可行的。3 需求分析3.1功能需求随着网络的发展和普及,电子邮件越来越为企业经营、管理主要的通讯、协同手段所需要,邮件服务器也正在成为企业日常运作中不可缺少的部分。现在,许多企业采用 Lotus Note, Exchange 或者 GroupWise
20、 作为公司内部的邮件服务器。但是由于各方面因素制约,它们提供的服务在可扩展性等方面受到限制,不能发挥企业统一通信平台的作用。因此,很多企业往往采用自建的方式来构建企业的邮件系统。搭建邮件服务器实现具体功能如下:(1) 服务器端:对于服务器端,要求能够提供基本的邮件收发功能和用户的授权、消权以及群发邮件等。对于服务器能够承受大量并发访问的压力,搭建DNS服务器解析服务器IP地址,让用户能够通过域名访问服务器。(2) 客户端:在客户端用户通过Web页面登陆,提供基本的邮件收发及用户注册、修改用户信息等功能。(3) 管理员:管理通过Web页面进入后台进行管理,能够进行群发邮件,创建用户、删除用户、对
21、用户空间进行限制与回收,浏览用户信息等功能。3.2环境需求本项目主要任务的是为企业架构一台功能比较完善的邮件服务器,服务器的操作系统采用的是Red Hat Linux 5系统。因为Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。客户端操作系统可以为Linux或Windows,数据库是mysql。Mysql数据库主要用于用户认证。设置该邮件服务器IP地址为172.16.27.254,域名为extmail.org.该服务器最重要的就是
22、服务器软件,服务器能否正常运用是最关键的。所以要构建好Linux的基本环境,然后安装DNS服务器的相关软件,当然重点还是要安装作为邮件传输代理的Postfix,如果要想使用网页电子邮件通信,还需要安装Apache服务器的软件支持,以及前台邮箱和后台邮箱的相关包。这些服务器安装在Linux主机上。启动服务保证服务状态正常运行。3.3性能需求本系统是企业之间提供的一种服务,由于是企业级的服务,所以要求有较高的安全性、稳定性,要有明确的权限分配,并且要有较快的响应速度,系统还要有较高的可靠性。(1)安全性Postfix假设它自己处于一个充满敌意的环境,设置了多层的保护措施来抵御攻击者 。 整个Pos
23、tfix系统都贯彻了“最低权限” 这个安全理念:每一个可以独立出来的功能,都分别写在不同的模块里,并以最低限度的权限在专属的进程环境里独立运作。权限较高的进程,决不会信任没有特权的进程。非必要的模块,可以被管理员移出系统或停用,借此提高安全性,并简化维护管理的工作。(2)稳定性稳定性是所有大型计算机操作系统所具有的共性。Linux所共享的Unix设计体系是经过长期实践考验的,Linux吸取了Unix系统近1/4世纪发展的经验,Linux操作系统体现了最先现代化操作系统的设计理念和最经得住时间考验的设计方案。最令人注目的是Linux开发源代码的开发模式,这保证了任何系统的漏洞都能被及时发现和改正
24、。所以在Linux系统上搭建邮件服务器保证其稳定可靠地运行(3)可靠性Postfix真正的价值,要在严苛的条件下才会逐渐显现出来。不管环境如何简单,软件都有可能遇到意外状况。比方说,有许多软件系统在耗光内存或磁盘空间时,其行为就变得不可预测。Postfix能够侦测出这类状况,让系统有机会恢复正常,而不至于将问题搞得更糟。不管遇到怎样的障碍,Postfix总是采用任何能够采用的预防 措施,以稳定、可靠的方式应变。(4)响应速度“效率”是postfix中心理念之一,它采取了相应步骤来确保它的运行不会影响到其他系统的效率。它使用多种技术来限制新建进程的数量以及处理信息时所需的访问文件系统的次数。4
25、系统设计4.1方案论证4.1.1 系统结构选择C/S(Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷
26、,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。本系统采用的就是B/S结构,用户通过网页登陆自己的账户来管理邮件信息。方便用户在不同的主机上进行操作。4.1.2 邮件系统功能组件邮件的功能组件由邮件用户代理(MUA)、邮件递送代理(MDA)和邮件传输代理(MTA)组成,常见的MDA通常和MUA合二为一。(1)MUA邮件用户代理是一种客户端软件,它提供用户读取、编辑、回复及处理电子邮件等功能,一般常用的MUA程序包括Linux下的mailx、elm和mh等,以及Windows下常用的Outlook Express、Foxmail等。(2)MDA邮件递送代理是一种服务器端运行
27、的软件,用来把MTA所接受的邮件传递到指定用户邮箱。(3)MTA邮件传输代理是一种服务器端运行的软件,即邮件服务器。用户通过MUA发送和接收电子邮件其实都是通过MTA完成的。在Linux中应用最广泛的MTA程序有Sendmail、Qmail和Postfix等。4.2工作流程充分了解邮件的工作流程,对邮件服务器进行更深刻的分析,用户可以自由收发电子邮件,邮件系统的MTA从MUA处或者另一台电子邮件服务器上的MTA处接收信息。根据消息标题的内容,MTA决定如何将该消息发送到目的地。如果邮件的目的地址位于本地服务器上,则调用 MDA 来 投递邮件,如果投递成功,对方成功接收;如果投递失败,转入延迟队
28、列,如果在延迟队列没有的到及时的处理,进入故障队列。如果邮件的目的地址不在本地服务器上,则MTA将电子邮件发送到相应服务器上的MTA上。邮件系统的工作流程图如图4.1所示。图4.2邮件系统工作流程图4.3功能模块设计该电子邮件系统要实现以下功能:登录服务器、用户收发邮件、用户处理邮件、邮件的传输、电子邮件的认证、电子邮件群发等功能。这些功能可以归为邮件用户代理和邮件传输代理三大功能模块,邮件用户代理MUA、邮件传输代理MTA和邮件投递代理MDA。总功能图如图4.3所示。图4.3系统功能图(1)邮件用户代理(MUA)模块邮件用户代理MUA是一种客户端软件,在Linux平台上的MUA程序有mail
29、x、elm等,Windows平台上有Outlook Express、Foxmail等。通过MUA的客户端软件用户首先申请账号并登录服务器,如果有验证机制的,还需要输入登入密码;之后用户就可以通过自己的邮箱发送、接收邮件,对邮件进行编辑、下载等操作。(2)邮件传输代理(MTA)模块邮件传输代理MTA是一种服务器端运行软件,最常用的有Sendmail、Qmail等。这里以Postfix为例,Postfix主要是负责邮件传输的,在传输的过程中,安装和配置的Postfix服务器需要实现基本的以及其他的一些功能。如果用户要发送一封邮件,那服务器就要实现最基本的发送功能,根据用户的需求,如果邮件要发往外部
30、邮箱的,还需要有邮件中继功能,不然邮件是发送不到其它域的服务器上的。如果用户要发送的电子邮件是想让某个域的所有成员都能接受到,如果一个一个发邮件显然是浪费时间和精力的,为方便起见,用户可以进行群发。邮件的认证机制能减少邮件中继带来的危害,添加认证机制,通过验证用户账号和密码,能够有效拒绝非法用户使用邮件中继功能。(3)邮件投递代理(MDA)模块邮件投递代理(MDA)从邮件传送代理(MTA)中接收了一封邮件,并执行了分发操作。MDA从MTA处接收所有的邮件,并放到相应的用户邮箱中。MDA还可以解决最终发送问题,如病毒扫描、垃圾邮件过滤以及送达回执处理。4.4关键技术及相关原理本服务主要采用的是邮
31、件传输协议技术和DNS技术。当前常使用的电子邮件协议有SMTP、POP3、IMAP4,他们都属于TCP/IP协议簇,默认状态下,分别通过25、110、143端口建立连接。SMTP协议是一种简单邮件传输协议,是一种在Internet中传递电子邮件的通信协议,可以在Internet上和不同的邮件系统交换信息。POP3协议是邮件系统上负责接收电子邮件的通信协议,它不具有传送邮件至使用者或其它邮件主机的功能。消息存取通信协议,是Internet上一项常见的通信协议,其中包含连接方式、客户端验证以及C/S的交谈等的定义,支持所有兼容RFC2060的IMAP客户端。与POP一样,IMAP主要是用来读取服务
32、器上的电子邮件,但客户端需要先登录服务器,才能进行资源的存取。在安装服务前要先考虑是否是否已安装和配置好DNS服务。因为用户想要登录到自己的邮件界面就必须找到域名,DNS就是为其服务的,所以如果没有安装和配置好DNS服务,要先安装和配置DNS服务。4.5重点难点首先要搭建DNS服务器,DNS服务是本机与外界的通讯方式。只有搭建好DNS服务其他主机用户才能访问邮件服务器,其次在搭建邮件服务器过程的难点就是服务器和客户端的邮件通信体制和通信协议作为邮件传输的两个标准协议,SMTP和POP3协议本身就比较难理解。SMTP通信协议用以发送电子邮件,其默认通信端口为25,SMTP通信协议定义了邮件的字段保留字符及特殊符号等,以确保电子邮件能在邮件服务器间成功地被传送,保留字段由RFC 822 所定义。它的实现是server 和 client 交互的一个过程。两端都根据对方的返回命令和字符实现下一步的操作。POP3通信协议用以接收电子邮件,其默认通信端口为110,POP3通信协议
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1