课程设计(论文)-基于Linux的邮件服务器的配置.doc_第1页
课程设计(论文)-基于Linux的邮件服务器的配置.doc_第2页
课程设计(论文)-基于Linux的邮件服务器的配置.doc_第3页
课程设计(论文)-基于Linux的邮件服务器的配置.doc_第4页
课程设计(论文)-基于Linux的邮件服务器的配置.doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

贺滢 基于linux的邮件服务器的配置 第24页 共24页 基于linux的邮件服务器的配置学生姓名:xxx 指导老师:xxx摘 要 本文介绍基于linux的邮件服务器的构建。电子邮件是整个互联网业务重要的组成部分,电子邮件已成为网络用户不可或缺的需要。本文将详细介绍linux系统中邮件服务器(sendmail服务器)的相关知识、常用命令及安装和配置过程和邮件客户端的设置及使用。关键词 linux;邮件服务器;sendmail;smtp;popthe construction of mail servers based on linux student name: he ying advisor:deng jiangshaabstract this article describes the construction of mail servers based on linux. e-mail is an important part of business on the internet,e-mail has become indispensable to the needs of users. this article will describe the relevant knowledge , common command and the process of installation and configuration about mail servers on linux (sendmail server)carefully, the process of setting up e-mail client and introduce how to use it.key words linux ; mail servers ;sendmail ;smtp ;pop1 引言1.1 课程设计的意义linux操作系统是目前应用最广泛的源代码开放的操作系统之一,最早由芬兰赫尔辛基大学的学生linus torvalds编写,它能够在pc计算机上实现全部的unix特性,具有多任务、多用户的能力,在gnu公共许可权限下免费获得,是一个符合posix标准的操作系统。用户不但可以从internet上下载linux及其源代码,以便修改和扩充操作系统,还可以上下载许多linux的应用程序。linux在安装过程中,默认安装并配置了邮件服务器守护程序sendmail,该程序为linux提供支持smtp连接所需的服务。对以linux系统为服务器的局域网来说,安装和配置一个健壮、高效的电子邮件系统能方便用户使用电子邮件。其中本文中的sendmail,便是在linux操作系统中应用最广泛的电子邮件服务器。1.2 课程设计的目的本课程设计设主要目的是在linux操作系统下完成邮件服务器的安装和配置。电子邮件是因特网上最为流行的应用之一,邮件服务器构成了电子邮件系统的核心。每个收信人都有一个位于某个邮件服务器上的邮箱(mailbox)。通过对邮件服务器的配置,不但能够方便用户收发邮件,也能够熟悉linux的相应操作,深化了对linux及网络知识的学习。1.3 邮件系统简介linux的电子邮件系统模型基本上可分为邮件传递代理mta、邮件存储和获取代理msa以及邮件客户代理mua三大模块,下面就linux邮件系统的组成作介绍1 。邮件传递代理(mta)通常使用sendmail,该系统几乎在任何unix平台上都有相应的版本,它负责接收并传递邮件和实现反垃圾邮件功能。邮件存储和获取代理(msa):一旦安装并设置完成了mta,还要对msa系统进行同样的配置过程。如今大多数机构并不直接将邮件传送到桌面客户系统,而是将邮件存储到服务器,让用户通过pop或者imap来读取各自的邮件,邮件存储的管理有许多种协议,如今最常用的是pop3和imap4。邮件客户代理(mua):mua种类繁多,而且层出不穷。这些代理大都符合pop和imap协议。这也包括微软的outlook系列、foxmail等。在linux下,许多人使用fetchmail抓取邮件并保存在本地邮箱。然后使用任何一种mua,比如elm、pine、mutt、vmail、mh-e、guns以及大量带有gui界面的如balsa等来处理邮件。也有众多的linux用户选择使用netscape communicator内置的邮件客户端。2 smtp简介smtp(simple mail transfer protocol)协议是internet上基于tcp/ip应用层的协议,适用于主机之间的电子邮件交换,是为了保证电子邮件的可靠和高效传送。tcp/ip协议的应用层中包含的有smtp协议,但事实上预期传输系统和机制无关,仅要求一个可靠地数据流通道。该协议可以工作在tcp上,也可以工作在ncp、nits等协议上。在tcp上,它使用端口25进行传输。smtp的一个重要特点是可以在可交互的通信系统中转发邮件。2.1 smtp的模型smtp采用客户/服务模式,因此负责发送邮件的smtp进程是smtp客户,而负责接收邮件的smtp进程就是服务器。客户和服务器双方的smtp协议相互配合,将电子邮件从发送方的主机送到接收方的信箱。在传送邮件过程中,需要使用tcp协议进行连接。在tcp上,它使用端口25进行传输。smtp的一个重要特点是可以在可交互的通信系统中转发邮件。smtp提供了一种邮件传输机制,当接收方和发送方都在一个网络上时,可以把邮件直接传给对方;当双方不在同一个网络上时,需要通过一个或几个中间服务器转发。smtp在发送方和接收方之间建立双向通信渠道后双方就可以开始通信了。smtp的工作流程如图2-1所示:发送命令处理回复发送命令处理回复处理命令发送回复处理命令发送回复发送方smtp接收方smtp图2-1 smtp工作流程图目前使用的smtp协议时存储转发协议,意味着其允许邮件通过一系列的服务器发送到最终目的地。服务器在一个队列中存储到达的邮件,等待发送到下一个目的地。拂过下游的服务器暂时不可用,mta就暂时在队列中保存信件,并在以后尝试发送。smtp传送邮件的过程如图2-2所示:muamtamtamtamda邮箱队列队列队列图2-2 smtp传送邮件过程示意图2.2 smtp的基本命令smtp定义了14个命令,它们是: helo、mail from、rcpt to、data、rset、send from、soml from、saml from、vrfy、expn、help、noop、quit和turn其中使得smtp工作的基本的命令有7个,分别为:helomailrcptdatarestnoop和quit。helo:向服务器标识用户身份发送者能欺骗,说谎,但一般情况下服务器都能检测到。 mail:初始化邮件传输 mailform : rcpt:标识单个的邮件接收人;常在mail命令后面可有多个rcptto: data:在单个或多个rcpt命令后,表示所有的邮件接收人已标识,并初始化数据传输,以.结束。 vrfy:用于验证指定的用户/邮箱是否存在;由于安全方面的原因,服务器常禁止此命令 expn:验证给定的邮箱列表是否存在,扩充邮箱列表,也常被禁用 help:查询服务器支持什么命令 noop:无操作,服务器应响应ok quit:结束会话 rset:重置会话,当前传输被取消2.3 smtp的连接和发送过程(1).建立tcp连接(2)客户端发送helo命令以标识发件人自己的身份,然后客户端发送mail命令服务器端正希望以ok作为响应,表明准备接收(3)客户端发送rcpt命令,以标识该电子邮件的计划接收人,可以有多个rcpt行服务器端则表示是否愿意为收件人接受邮件(4)协商结束,发送邮件,用命令data发送(5)以.表示结束输入内容一起发送出去(6)结束此次发送,用quit命令退出另外两个命令:vrfy-用于验证给定的用户邮箱是否存在,以及接收关于该用户的详细信息;expn-用于扩充邮件列表。3 电子邮件介绍电子邮件的工作过程遵循客户/服务器模式。每份电子邮件的发送都要涉及发送方与接收方,发送方构成客户端,接收方构成服务器,它含有众多用户的电子信箱。【2】电子邮件(electronic mail)服务是internet网络为用户提供的一种最基本、最重要的服务之一。电子邮件将邮件发送到收信人的邮箱(mail box) 中,收信人可随时读取邮件。电子邮件不仅使用方便,而且还具有传递迅速和费用低廉的优点。电子邮件有非常高的效率,非常高的安全性,可以采用加密的方法来传输邮件,即使被人截获,也不能轻易破译。3.1 邮件的结构在最高层,邮件的结构是非常简单的,用户从终端机上看到的邮件格式一般为:from,to,subject,date,text等内容,事实上,邮件在传输过程中,服务器要把它打包成一个数据对象,包括上面的信件和一个信封。邮件的投递是依靠新风尚的地址或信头,而不是上面介绍的信件上的地址。从表面上看,一封邮件是从发件人的机器直接传送到收件人机器的,但通常这并不正确,一封邮件发送和接收过程至少要经过四台计算机。用户通常在自己的电脑前编写阅读邮件,把它叫做客户端。在大部分的机构里,都是用一台专门的机器处理邮件,称作邮件服务器。当某个用户在自己的电脑client1前编写完一个邮件,并把其发送到用户使用的isp的邮件服务器smtp1上。此时机器已经完成了所有的工作,但邮件服务器smtp1还必须设法把邮件发送到目的地。smtp1通过阅读信头或信封上的地址,找到收件人的邮件服务器smtp2,然后与该服务器建立连接,把邮件发到收件人的服务器上,等待收件人来取阅。3.2 电子邮件的工作原理电子邮件的工作过程遵循客户/服务器模式。每份电子邮件的发送都要涉及到发送方与接收方,发送方构成客户端,而接收方构成服务器,服务器含有众多用户的电子邮箱。发送方通过邮件客户程序,将编辑好的电子邮件向邮局服务器(smtp服务器) 发送。邮局服务器识别接收者的地址,并向管理该地址的邮件服务器 (pop3服务器)发送消息。邮件服务器将消息存放在接收者的电子邮箱内,并告知接收者有新邮件到来。接收者通过邮件服务器的通知,进而打开自己的电子信箱来查收邮件。其工作过程如图3-1所示。发件服务器收件服务器发件客户端收件客户端图3-1 电子邮件工作过程3.3 open relay的原理smtp协议中明确指出当邮件在不同的网络间传送时,需要借助中间服务器的relay。邮件在接收方和发送方之间会经过毫不相干的第三方服务器,这就是邮件转发(relay),邮件转发过程如图3-1所示:senderrecipientlocalusermail server图3-2 邮件转发示意图4安装与配置sendmail server4.1 安装与启动sendmail使用rpm包安装方式进行安装。首先检测系统是否已经安装了rpm包#rpmqa|grep sendmail 结果如图4-1所示:图4-1 检测系统是否安装rpm包如果没有安装,则安装rpm ivh sendmail -8.12.8-4.i386.rpm安装生成sendmail配置文件的m4工具包#rpm -ivh m4 -1.4.1-13.i386.rpm#rpm -ivh sendmail -cf-8.12.8-4.i286.rpm#rpm -ivh sendmail -doc-8.12.8-4.i386.rpm启动sendmail:安装好该软件后,可以使用以下命令来确认sendmail是否已经启动#pstree |grep sendmail如果启动了sendmail,那么这个命令将显示出其相关信息。否则,没有任何提示的回到命令行。如果没有启动,用户可以手动启动:#service sendmail start 效果如图4-2所示:图4-2 启动sendmail 4.2 测试sendmail的发信功能安装并启动了sendmail服务器之后便可对其进行简单的发信功能测试,测试步骤如下:使用root用户向super发送邮件#mail 接下来效果如图4-3所示:图4-3 测试sendmail发信功能subject为邮件标题,然后是邮件内容,以“.”结束。cc是抄送给某用户。4.3 设置sendmail.cf sendmail.cf是sendmail的配置文件。一般来说在安装了linux系统后,将自动生成一个合适系统使用的sendmail.cf文件。【3】配置文件sendmail.cf中的信息仍旧是以行为单位。如果行首的第一个字符为“#”,则表示该行为注释;如果第一个字符为空格,则表示该行为上一行的延续。此外,行首的第一个字符均为命令,但是命令同变量或值之间没有间隔。这种格式便于sendmail进行分析,但很难阅读。sendmail.cf配置文件中的命令如下:d(定义宏),c与f(定义类),o(设置选项),t(定义可信任的用户),p(设置优先级),k(关键文件声明),v(配置版本级别),m(定义邮件传输程序),h(定义邮件的首部格式),r(定义重写规则),s(设置重写规则集)。我们用c命令修改sendmail的配置文件“/etc/mail/sendmail.cf”。#vi /etc/mail/sendmail.cf将给文件中的行cwlocalhost修改为c 。如图4-4所示:图4-4 修改sendmail.cf文件最后存盘退出。4.4 修改sendmail.mc文件 sendmail的配置十分复杂,其配置文件sendmail.cf语法深奥难懂,很少有人直接去修改该文件来对sendmail服务器进行配置。一般通过m4宏处理程序来生成所需的sendmail.cf文件。在创建的过程中还需要一个模板文件,sendmail.mc。用m4宏编辑工具创建sendmail.cf文件比较方便,而且不容易出错,更可以避免某些带有安全漏洞或者过时的宏所造成的破坏。下面介绍sendmail.mc模板的语法组成:dn1:用来注释各项,同时dn1命令还用来标识一个命令的结束。divert(-1):位于mc模板文件的顶部,目的是让m4程序输出时更加精简一些。ostype(operationsystemtype):定义使用的操作系统类型,显然这里应该用linux代替operationsystemtype,注意要用一个反引号和一个正引号把对应的操作系统类型括起来。define:定义一些全局设置,对于linux系统,设置了ostype之后,可以定义下面的一些全局参数。如果不定义,就使用默认值。下面修改sendmail的配置文件”/etc/mail/sendmail.mc”,将该文件中有以”dae_option”字符串开头的四行用注释符号”#”注释掉。效果如图4-5所示:图4-5 修改sendmail.mc文件最后使用make命令重新生成配置文件: #make c /etc/mail,效果如图4-6所示:图4-6 重新生成sendmail.mf文件4.5 linux平台下mysql的安装本课程设计采用的linux版本是ubuntu版本,mysql数据库管理系统不需要下载,直接在linux平台下直接安装就行,由于mysql已经安装(同时此安装命令也就是更新命令),故显示的是更新信息。安装命令如图4-7下:图4-7 mysql的安装数据库在物理设备上的存储结构与存储方法称为数据库的物理结构,它依赖于选定的数据库管理系统。为一个给定的逻辑数据模型选取一个最合适应用要求的物理结构的过程,就是数据库的物理设计。本课程设计选择由瑞典mysql ab公司首先开发,现在为sun公司运营的mysql数据库管理系统。考虑到配置和移植的方便性,本设计采用jdbc方式访问数据库。try class.forname(com.mysql.jdbc.driver); system.out.println(driver load); connection connection = drivermanager.getconnection(jdbc:mysql:/ +01946ae88d54409/java,system,system); system.out.println(database connected); /用来测试数据库连接是否成功 statement stmt = connection.createstatement(); stmt.close(); /关闭数据库连接 connection.close();/关闭数据库连接 catch(exception e) e.printstacktrace(); 4.6 sendmail邮件服务器的验证在sendmail邮件服务器配置完成之后,只要在linux上添加一个用户,该用户就会拥有一个邮箱。下面是向测试用户test发送邮件的测试,如图4-8所示:图4-8 发送测试邮件下面切换到test用户,使用mail命令接收邮件,看看是否收到。结果如图4-9所示:图4.-9 检验邮件是否收到实验证明,邮件服务器已经成功运转。5 建立pop邮件服务5.1 安装pop服务器sendmail并不具备pop3(imap)接受邮件的功能,所以必须对其进行安装。下面是安装pop服务器的详细步骤:安装red hat linux 9时,可以选择安装pop和imap服务器,用一下命令进行验证: #rpm qa imap如果没有安装则可以安装rpm包,命令如下:#rpm ivh imap-2001a-18.i386.rpm由于red hat linux 9已经将pop和imap打包成了一个单独的套件,安装rpm包就会同时安装这两个服务器。安装效果如图5-1所示:图5-1 检验rpm包是否安装成功5.2启动pop和imap服务要成功启动pop和imap服务器,首先要确定这些服务存在于/etc/services/文件,确保对应的服务前面没有加上注释。下面是/etc/services/文件内容,如图5-2所示:图5-2 修改/etc/services/文件接下来修改/etc/xinetd.d/ipop3文件,将其中的“disable=yes”改为“disable=no”,保存退出。如图5-3所示:图5-3 修改/etc/xinetd.d/ipop3文件最后重新启动xinetd程序来读取新的配置文件,使得设定内容生效:#/etc/rc.d/init.d/xinetd/restart使用同样方法修改/etc/xinetd.d/imap文件,将其中的“disable=yes”改为“disable=no”,保存退出。再次重启xined程序,使设定的内容生效。6 邮件客户端的设置6.1 邮件客户端邮件客户端通常指使用imap/apop/pop3/smtp/esmtp/协议收发电子邮件的软件。用户不需要登入邮箱就可以收发邮件。接收电子邮件的常用协议是pop3和imap,发送电子邮件的常用协议是smtp。另一个大部分邮箱客户端支持的重要标准是mime,它是用来发送电子邮件附件的。电子邮箱默认使用的tcp端口号如表6-1所示4:表6-1 默认tcp端口号协议作用纯文本或加密会话单纯文本会话单纯加密会话pop3收邮件110995imap收邮件143993smtp发邮件25465(非标准)http网页邮箱80443 6.2 邮件客户端的设置在red hat linux 9 系统中邮件客户端可以采用一下3种方式:evolution程序、mozilla mail程序和基于文本的电子邮件客户。本次课程设计主要使用evolution程序收发邮件。evolution不仅仅是一个电子邮件程序,它还提供了所有标准的电子邮件客户功能,包括功能强大的邮箱管理、用户定义的过滤器,以及快速搜索。除此之外,它还具备灵活的日历功能,该功能允许用户在线的创建和确认组群会议和特别事件5。evolution是用于linux和基于unix系统的功能完善的个人和工作组信息管理工具,它还是red hat linux的默认电子邮件客户。要想用evolution电子邮件客户程序,可从桌面的面板上启动evolution,依次单击“主菜单互联网evolution电子邮件”如图6-1所示:图6-1 启动evolution在使用该软件之前,必须

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论