Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->系统管理 ->正文

Linux架设E-mail服务器

来源:Linux-cn.com 作者:Webmaster 时间:2007-05-05 点击: [收藏] [投稿]

一、了解电子邮件

  在世界上,数以百万计的计算机用户已经访问过电子邮件。Email已经成为互联网上最重要的服务,你可能没用过ftp,没上过BBS,没有自己的主页,但你应该有一个自己的电子邮件信箱。大量的商业网络或Internet服务提供商(ISP)可以使你在世界范围内访问电子邮件。电子邮件是在单机系统上的或在网络系统上的用户用来发送和接收电子信息的任何程序。它有如下优点:

□你可以在很短时间内把数据发送到目的地。

□你不用担心在发送和接收电子邮件的过程中被中断——因为这些都是由计算机系统来控制的。

□你不必与通信人预约。

□你可以在任何时间发送和接收电子邮件。

二、定制mail环境

  在使用mail程序时,系统会检测你的起始目录中的.mailrc文件。你可以根据自己的需要在.mailrc文件中设置不同的环境变量和命令。以下列出了环境变量:

□#:表示一个注释行

□alias:设置单个别名或组别名。用法是:alias alias-name address-list

□set:设置环境变量。用法是:set variable-name或set variable-name=string

  在使用mail时,你还可以在问号(?)提示符下发出以下命令:

□askcc:在输入消息后提示输入cc:list。默认值是noaskcc

□asksub:在输入消息前提示输入Subject清单。默认时是提示输入

□noheader:在启动mail时,不打印可获得的消息的标题信息。默认时是打印标题信息

□ignore:在输入信息时,忽略中断字符。如果连接的电话或其他通信线路上有‘杂音’,这个变量很有用。默认值是noignore

□metoo:当你的名字在组别名中时,消息通常不发送给你。默认值是nometoo

  以下是一个.mailrc文件的例子:

   # .mailrc file for XiaoNiao
   # make sure interrupts are NOT ignored
   set noignore
   # set variables so that promptsfor Subject and Cc always appear
   set asksub
   set askcc
   # individual aliase
   alias billy wbracksto
   alias ham xiaoniao@linuxaid.com.cn bbow
   alias me gunter
   # group aliases,mailing list
   alias pirates wangtao@linuxaid.com bbow
   alias research jones jreynold eackerma
   alias framistan wjones imgood linuxcd@linuxaid.net imgood
   #End .mailrc

三、SMTP协议简介

  SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它主要规定基础的电子邮件提交系统怎么传递报文。对于电子邮件系统怎么从用户接受电子邮件,用户接口怎么给用户显示接到的电子邮件,电子邮件如何存储以及电子邮件系统以怎样的频度发送报文等问题却没有作出规定。

  在SMTP中,客户机与服务器之间的通信是由可读文本构成的。开始,客户机通过三次握手与服务器(通常是TCP 25端口)建立一个TCP连接,然后等待服务器发送220 READY FOR MAIL。在收到220报文后,客户机发送HELO命令。之后,电子邮件交互以MAIL命令开始,在MAIL命令中,有一个‘FROM:’字段,用于在出错是通知发信人。服务器收到MAIL命令后,发送250 OK作为响应,表示一切正常。MAIL命令成功后,客户方就可以将收信人地址告诉服务器,这是用一连串RCPT命令来实现。服务器接收到每个RCPT命令后,发送250 OK作为响应,表示正确接收;或者发送550 No such user here作为响应,表示没有这个用户。客户方的RCPT命令得到正确响应后,就可以DATA命令发送数据。服务器收到DATA命令后,发送354 Start mail input;end with.给予响应。其中end with.规定了用于结束电子邮件报文的五个连续字符,即:回车,换行,圆点,回车,换行,这就是为什么用MAIL发送邮件时,最后只含有一个圆点的行表示结束的缘故。

四、sendmail

1.sendmail简介

  Sendmail是由Eric Allman写的程序,后来经过很多人的贡献,才成为现在的版本。目前几乎所有的Unix/Linux系统都使用sendmail。sendmail的功能非常强大,这就使它的配置文件非常复杂,而且它的规则集非常难看懂。下面就详细介绍一下它的各项配置。

2. sendmail.cf配置文件

  一般来说不必自己去修改sendmail.cf文件。但是有时你可能想要了解一下sendmail.cf文件的内容。sendmail.cf文件通常由若干个节组成,以下是常见的节名:

节  名 功  能

Local Information   定义有关个人主机的信息
General Macros   定义有关本地网络的宏
Classes   定义用于特殊邮件传输程序的主机名群或域名群
Version Number   标识sendmail.cf文件的版本号
Special Macros   定义由sendmail所用的一些特殊的宏
Option   定义sendmail选项
Message Precedence   定义sendmail所用的各种消息的优先级值
Trusted Users   定义在发送邮件时可忽略发送者地址的用户
Format of Headers   定义sendmail插入的邮件首部格式
Rewriting Rules   定义用于重写邮件地址的规则
Mailers   定义sendmail用来调用邮件传输程序的指令
Ruleset Zero   定义一组称为Ruleset Zero的特殊重写规则
Machine-dependent part  of Ruleset Zero   定义与配置相关的Ruleset Zero部分

  sendmail.cf命令从每一行的第一格开始,#开头的表示注释,第一个字符表示指令,以下是每个指令的意义:

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:Linux架设DNS服务器之一   下一篇:X环境下配置CUPS--在LINUX下轻松打印(三)

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号