Linux组网入门(3):E-Mail服务器
点击次数:30 次 发布日期:2008-11-22 09:44:52 作者:源代码网
|
源代码网推荐 源代码网推荐在Internet出现WWW服务之前,电子邮件系统曾经是使用最为广泛的一种应用服务。电子邮件为人们的沟通带来了方便,眨眼间,通过Internet传送着各种各样的祝福和消息。它为人们的沟通增加了许多方便。 源代码网推荐 源代码网推荐6.1电子邮件系统的工作原理 源代码网推荐电子邮件系统的运作方式与其它的网络应用有着根本上的不同。在其它的绝大多数的网络应用中,网络协议直接负责将数据发送到目的地。而在电子邮件系统中,发送者并不等待发送工作完成,而是仅仅将要发送的内容发送出去。 源代码网推荐例如:文件传输协议(FTP)就象打电话一样,实时地接通对话双方,如果一方暂时没有应答,则通话就会失败。而电子邮件系统则不同,发送方将要发送的内容通过自己的电子邮局将信件发给接收方的电子邮局。如果接收方的电子邮局暂时繁忙,那么发送方的电子邮局就会暂存信件,直到可以发送。而当接收方未上网时,接收方的电子邮局就暂存信件,直到接收方去取。可以这么说,电子邮件系统就象是在Internet上实现了传统邮局的功能,而且是更加快捷方便地实现。 源代码网推荐现在作为一个普通的用户想要连接到Internet,那么就必须找一家Internet服务商(ISP)提供连接服务。在中国,最大的ISP就是中国电信。ISP在提供连接的同时,还会提供一个电子邮局,分配一个电子信箱给用户使用。而且在Internet上还有许多免费的电子邮局提供电子邮件服务。 源代码网推荐值得一提的是,电子邮件总是有一个空间大小的叙述,这是什么意思呢?也就是电子邮局给每个用户所提供的暂存信件的空间。当然,越大越好嘛。 源代码网推荐 源代码网推荐6.2电子邮件的标准 源代码网推荐电子邮件的协议标准是TCP/IP协议族的一部分。它规定了电子邮件的格式和在邮局间交换电子邮件的协议。 源代码网推荐每个电子邮件都分为两部分:邮件头和邮件内容。TCP/IP对电子邮件的邮件头的格式作了确切的规定,而将邮件内容的格式让用户自定义。在邮件头中最重要的两个组成部分就是发送者和接收者的电子邮件地址。电子邮件地址的格式如下: 源代码网推荐用户名@电子邮局域名例:abc@990.net 源代码网推荐而电子邮件的传输协议(也就是在邮局间交换电子邮件的协议)主要有SMTP(简单邮件传输协议)、POP(电子邮局协议),以及现在新兴的IMAP(互联网邮件应用协议)。 源代码网推荐 源代码网推荐6.3电子邮件系统的组成 源代码网推荐整个电子邮件应用系统由两大部分构成: 源代码网推荐1.电子邮局系统; 源代码网推荐2.电子邮件发送、接收系统。 源代码网推荐电子邮件发送、接收系统则象遍及千家万户的邮箱,发送者和接收者通过它将邮件从电脑中发送和接收邮件。这个部分是一个运行在电脑中的客户端程序,最常用的有Microsoft的OutlookExpress,Netscape,TheBat,Foxmail,方正飞扬等。用户可以根据自己的喜爱来选择不同的程序。它们从根本上说,实现的功能是一样的。 源代码网推荐电子邮局行使着像传统邮局的功能,它在发送者和接收者之间起着一个桥梁作用。它是运行在电子邮局服务器上的一个服务器端程序。最常用的有Microsoft的IIS和sendmail等。而在这里我们介绍的就是功能强大的、免费的,基于类UNIX操作系统的电子邮件服务端程序sendmail的最基本的配置与使用方法。 源代码网推荐 源代码网推荐6.4安装sendmail 源代码网推荐如果你在安装LINUX的时候,选择了E-MAIL服务,sendmail就已经安装在LINUX系统中了,并且已经作了一些最基本的设置。 源代码网推荐如果你在安装时没有选择,或者你需要升级sendmail就可以使用以下方法进行。 源代码网推荐1.通过RPM包来安装或升级(仅用于RedHatLINUX): 源代码网推荐1)首先在光盘上或Internet上找到下面几个RPM包: 源代码网推荐sendmail-8.9.3-10.i386.rpmsendmail可执行文件 源代码网推荐sendmail-cf-8.9.3-10.i386.rpmsendmail.cf生成器 源代码网推荐sendmail-doc-8.9.3-10.i386.rpmsendmail.cf文档 源代码网推荐2)然后使用以下命令安装或升级: 源代码网推荐安装:rpm–ivhsendmail-8.9.3-10.i386.rpm 源代码网推荐升级:rpm–Uvhsendmail-8.9.3-10.i386.rpm 源代码网推荐2.用源代码编译关安装: 源代码网推荐1)首先取得最新版本的源代码:http://www.sendmail.org/ 源代码网推荐ftp://ftp.dlut.edu.cn/pub/unix/mail/sendmail/ 源代码网推荐2)展开源代码: 源代码网推荐cd/hometar–zxvfsendmail-8.9.3.tar.gz 源代码网推荐这样就会在/home目录下建立一个sendmail-8.9.3目录: 源代码网推荐/home/sendmail-8.9.3/README 源代码网推荐/home/sendmail-8.9.3/src 源代码网推荐/home/sendmail-8.9.3/cf 源代码网推荐/home/sendmail-8.9.3/doc 源代码网推荐3)编译:由于sendmail自己带了一个编译程序Build,所以不用make命令: 源代码网推荐cd/home/sendmail-8.9.3/src 源代码网推荐./Build 源代码网推荐install 源代码网推荐 源代码网推荐6.5用sendmail构建一个E-Mail服务器 源代码网推荐当我们在系统中安装了sendmail后我们就可以使用这台机成为我们的电子邮局了。因为sendmail的功能强大,配置繁琐。所以我们在下面的介绍中举一个架设供一个公司使用的InternetE-Mail服务器为例进行讲述。 源代码网推荐以下的设置也能运用在较大的电子邮局应用中,但是随着的用户数的增多,将会使得整个邮局的性能有所下降,这时也就相应地要进行更加深入的配置工作。考虑到本书是一个入门级的读物,我们就不进行深入的讨论。有兴趣的读者可以参看相应的书籍。 源代码网推荐总而言之,我希望在本章节的描述后,能使大家够迅速地使用LINUX架设一个小型的实用的电子邮局。下面我们就开始吧! 源代码网推荐 源代码网推荐6.5.1设置sendmail作为守卫进程(daemon)启动 源代码网推荐如果你在安装LINUX的时候,选择了E-Mail服务。那么,sendmail就已经成为一个守卫进程启动了。所谓的守卫进程,指的是它就象DOS操作系统中的常驻内存程序一样,运行后,它们在后台侦听,当需要它进行服务的时候,它就完成特定的功能和服务。在LINUX系统中有许许多多的服务就是以守卫进程的方式启动着的。 源代码网推荐你可以使用以下命令来确认sendmail是否已经启动。 源代码网推荐ps–A|grepsendmail 源代码网推荐如果启动了sendmail,那么这个命令将显示出它的相关信息。否则将没有任何提示地回到命令行。如果没有启动,那么你只发好在/etc/rc.d/rc.net文件中加上以下几行代码。 源代码网推荐if[-f/usr/lib/sendmail]; 源代码网推荐then(cd/usr/spool/mqueue;rm–fif*) 源代码网推荐/usr/lib/sendmail-bd-qlh;echo–n‘sendmail’>/dev/console 源代码网推荐fi 源代码网推荐 源代码网推荐6.5.2设置sendmail.cf 源代码网推荐sendmail.cf是sendmail的配置文件。一般说来在安装了LINUX系统之后,它将自动生成一个适合本系统使用的sendmail.cf文件,而且在sendmail.8.9.3/cf目录下还有许多适应各种系统的sendmail.cf的文件样本,根据文件名也可以判断出它们所适用的场合。可以选择它们替换原有的sendmail.cf文件。也就是将它们复制到/etc目录中去,覆盖掉原来的sendmail.cf文件。 源代码网推荐而且sendmail还提供了一个sendmail.cf的生成器m4,它通过一系列的人机对话来生成一个用户定制的sendmail.cf文件。具体的用法可以阅读m4的帮助文档。在此就不再详述。 源代码网推荐 源代码网推荐6.5.3开启SMTP、POP端口 源代码网推荐在Internet中,我们采用POP端口提供接收邮件服务,采用SMTP端口提供发送邮件服务。也就是说,客户端的邮件发送、接收系统在要发送邮件的时候,就与电子邮局的SMTP端口连接;当要接收邮件的时候,就与电子邮局的POP端口连接。 源代码网推荐而一般在所有的类UNIX系统中,SMTP端口默认是打开的,而POP端口在默认状态下是关闭的,我们必须将它打开。 源代码网推荐1.用root(超级权限)登录到服务器上; 源代码网推荐2.编辑文件/etc/inetd.conf; 源代码网推荐3.找到描述POP端口的语句; 源代码网推荐#pop2streamtcpnowaitroot/usr/sbin/tcpd/usr/sbin/in.pop2d 源代码网推荐#pop3streamtcpnowaitroot/usr/sbin/tcpd/usr/sbin/in.pop3d 源代码网推荐前面的#号代表这一行是注释语句,不生效。 源代码网推荐POP2是早期的端口协议版本,我们现在一般使用的是POP3. 源代码网推荐4.将POP3的描述语句那一行的注释号“#”去掉。确保POP2的那一行是注释语句。 源代码网推荐5.如果没有找到,就手工补上这一行;(另外,我们还可以验证一下是否存在SMTP端口的描述语句); 源代码网推荐6.存盘后退出。 源代码网推荐7.运行inetd命令,使得设置生效。 源代码网推荐8.用以下命令验证,看POP3端口是否打开(生效)。 源代码网推荐netstat–a|greppop 源代码网推荐如果打开的话,可以看到以下信息: 源代码网推荐tcp00*:pop3*:*LISTEN 源代码网推荐 源代码网推荐6.5.4为新用户开E-Mail帐号 源代码网推荐其实,在LINUX中,要为一个新的用户开E-Mail帐号是十分简单的。只要在LINUX系统中新增一个用户就可以了。那么这个用户帐号和密码就是E-Mail的帐号和密码。 源代码网推荐例如,我为一个新用户test开一个E-Mail帐号。就用以下命令: 源代码网推荐addusertestpasswdtest 源代码网推荐这样,这个新用户的E-Mail地址就是: 源代码网推荐test@company.com 源代码网推荐密码当然就是帐号的密码了。 源代码网推荐 源代码网推荐6.5.5为E-Mail帐号设置别名 源代码网推荐如果,有一些用户想使用多个E-Mail地址,是不是就要为他开多个帐号呢?如果是这样就会增加对帐号管理的难度。所以LINUX给我们提供了一种方法:设置别名。 源代码网推荐比如说,一个用户叫“王大明”,它想拥有以下的几个E-Mail地址: 源代码网推荐wdm@company.com 源代码网推荐wangdm@company.com 源代码网推荐daming@company.com 源代码网推荐我们就通过以下步骤来实现这样的别名设置。 源代码网推荐1.以root登录服务器; 源代码网推荐2.新增一个账号wdm; 源代码网推荐3源代码网供稿. |
