在UNIX下建立邮件服务器(一)
1 电子邮件系统的工作原理
电子邮件系统的运作方式与其它的网络应用有着根本上的不同。在其它的绝大多数的网络应用中,网络协议直接负责将数据发送到目的地。而在电子邮件系统中,发送者并不等待发送工作完成,而是仅仅将要发送的内容发送出去。
例如:文件传输协议(FTP)就象打电话一样,实时地接通对话双方,如果一方暂时没有应答,则通话就会失败。而电子邮件系统则不同,发送方将要发送的内容通过自己的电子邮局将信件发给接收方的电子邮局。如果接收方的电子邮局暂时繁忙,那么发送方的电子邮局就会暂存信件,直到可以发送。而当接收方未上网时,接收方的电子邮局就暂存信件,直到接收方去取。可以这么说,电子邮件系统就象是在Internet上实现了传统邮局的功能,而且是更加快捷方便地实现。
现在作为一个普通的用户想要连接到Internet,那么就必须找一家Internet服务商(ISP)提供连接服务。在中国,最大的ISP就是中国电信。ISP在提供连接的同时,还会提供一个电子邮局,分配一个电子信箱给用户使用。而且在Internet上还有许多免费的电子邮局提供电子邮件服务。
值得一提的是,电子邮件总是有一个空间大小的叙述,这是什么意思呢?也就是电子邮局给每个用户所提供的暂存信件的空间。当然,越大越好嘛。
2 电子邮件的标准
电子邮件的协议标准是TCP/IP协议族的一部分。它规定了电子邮件的格式和在邮局间交换电子邮件的协议。
每个电子邮件都分为两部分:邮件头和邮件内容。TCP/IP对电子邮件的邮件头的格式作了确切的规定,而将邮件内容的格式让用户自定义。在邮件头中最重要的两个组成部分就是发送者和接收者的电子邮件地址。电子邮件地址的格式如下:
用户名@电子邮局域名 例:abc@990.net
而电子邮件的传输协议(也就是在邮局间交换电子邮件的协议)主要有SMTP(简单邮件传输协议)、POP(电子邮局协议),以及现在新兴的IMAP(互联网邮件应用协议)。
3 电子邮件系统的组成
整个电子邮件应用系统由两大部分构成:
1. 电子邮局系统;
2. 电子邮件发送、接收系统。
电子邮件发送、接收系统则象遍及千家万户的邮箱,发送者和接收者通过它将邮件从电脑中发送和接收邮件。这个部分是一个运行在电脑中的客户端程序,最常用的有Microsoft的Outlook Express,Netscape,The Bat,Foxmail,方正飞扬等。用户可以根据自己的喜爱来选择不同的程序。它们从根本上说,实现的功能是一样的。
电子邮局行使着像传统邮局的功能,它在发送者和接收者之间起着一个桥梁作用。它是运行在电子邮局服务器上的一个服务器端程序。最常用的有Microsoft的IIS和sendmail等。而在这里我们介绍的就是功能强大的、免费的,基于类UNIX操作系统的电子邮件服务端程序sendmail的最基本的配置与使用方法。
4 安装sendmail
如果你在安装LINUX的时候,选择了E-MAIL服务,sendmail就已经安装在LINUX系统中了,并且已经作了一些最基本的设置。
如果你在安装时没有选择,或者你需要升级sendmail就可以使用以下方法进行。
1. 通过RPM包来安装或升级(仅用于RedHat LINUX):
1) 首先在光盘上或Internet上找到下面几个RPM包:
sendmail-8.9.3-10.i386.rpm sendmail可执行文件
sendmail-cf-8.9.3-10.i386.rpm sendmail.cf生成器
sendmail-doc-8.9.3-10.i386.rpm sendmail.cf文档
2) 然后使用以下命令安装或升级:
安装: rpm –ivh sendmail-8.9.3-10.i386.rpm
升级: rpm –Uvh sendmail-8.9.3-10.i386.rpm
2. 用源代码编译关安装:
1) 首先取得最新版本的源代码:http://www.sendmail.org/
ftp://ftp.dlut.edu.cn/pub/unix/mail/sendmail/
2) 展开源代码:
cd /hometar –zxvf sendmail-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