sendmail邮件服务器的基本建立过程


邮件服务器的基本建立过程(sendmail)

第一章  邮件传送的基本理论

一、专用名词解释:


1、MUA:邮件用户代理,主要是收存在邮件服务器的电子邮件,和编写浏览电子邮件。如:outlook , kmail等。
2、MTA:邮件传递代理,接收MUA或其他MTA主机传来的邮件。如是本地邮件(本机范围内的邮件就保留),如不是则通过DNS转发到其他MTA主机上。
   MTA的详细功能:
   (1)接收邮件。将客户端或者其他MTA转发过来的邮件接收。
   (2)转发邮件。如果邮件的目的地是MTA本身的用户,就把邮件存到本身用户的mailbox(邮箱)中。如果不是本身用户,且该邮件符合使用MTA的规则权限,则把邮件转到别一台MTA主机(邮件服务器)。
   (3)响应用户的收件要求。当用户需要把邮件从本地MTA中收走时,通过POP协议和MTA邮件服务器协商,如果通过,则从服务器的mailbox中收走邮件。还可以通过IMAP协议直接到MTA服务器中操作存在服务器上的邮件。
3、MDA:邮件递送代理,是在MTA下的一个小程序。分析MTA所收到的邮件表头或内容等数据,从分析结果中决定这封邮件的去向及对邮件的处理。
        (1)转发实现:是本身用户的,还是其他MTA的。如是其他MTA的,则转发到其他MTA服务器上。所以MTA的转发功能是由MDA完成的。
        (2)邮件过滤:分析结果如发现是垃圾邮件则过滤此邮件。
        (3)自动回复:如离开位置,可设定自动回复。

4、mailbox:就是邮箱,就是邮件服务器为本身用户存放邮件的地方。即邮件把服务器帮本身用户把邮件会存到服务器的一个位置。


二、传递邮件的过程:


1、 mua先通过本地MTA的验证(如我们开outlook需要输入帐号和密码一样,这就是一种认证。当然首先需要在本地MTA上有用户的邮件帐号)
2、用户通过MUA编写邮件,邮件包括标头(收件人地址,发件人地址)、邮件内容。
3、邮件写好后MUA发送邮件给本地MTA服务器。
4、MTA收到邮件后,MDA对邮件进行分析。如果是垃圾邮件就直接过滤掉。
                                     如果是目的用户是本地MTA服务器本身用户的邮件就存入到用户的mailbox 中,等待用户收取。
                                     如果目的地是其他MTA的邮件,则MTA通过SMTP协议转发到目的MTA上。目的MTA把邮件存到目的用户的MAILBOX上,等待用户来下载。
5、目标用户收取邮件。两种协议两种方法,分别讲:

   (1)MUA用pop3协议110端口连接到MTA上,并且输入帐号和密码来得到认证和授权。得到认证后,MTA会到用户的MAILBOX(/var/spool/mail/username)中把用户的邮件传给MUA软件。当所有邮件传完后,用户的MAILBOX中的邮件将会被删除。

  (2)用户iamp协议连接到MTA上,连接上后会把mailbox里的邮件移到/home/username目录下。然后在里面可以编辑邮件,建文件夹等。即邮件还是在MTA服务器上,只是换了个地方。

       两者的区别:一个是把邮件收下来到用户本地,一个是把邮件转到MTA服务器的另一地方,但还在MTA服务器上。




第二章  sendmail 的基本建立过程




一、sendmail需要的软件

   1、sendmail主体软件
   2、sendmail-cf软件   配置工具
   3、m4  转换 sendmail.cf到sendmail.mf的工具
   4、dovecot 以支持用pop3和imap收发邮件。
   还可以装: sendmai-devel  sendmail开发工具包
              sendmail-doc    sendmail文档



二、重要的文件

1、/etc/mail/sendmail.mf   //sendmail的主配置文件,因为过于复杂不要手工更改这个配置文件,而是编辑sendmail.cf文件,然后用m4工具导入sendmail.mf配置文件中。
2、  /etc/mail/sendmail.cf   //用来辅助配置sendmail主配置文件的。编辑此文件后,用m4工具导入sendmail.mf主配置文件中
3、/etc/mail/local-hostnames
4、/etc/mail/access.db   //即此MTA服务器可以为哪些用户转发邮件到其他MTA。即哪些用户可以使用MTA的权限。不然就只能发本地用户了。设置完/etc/mail/access文件后,用makemap指令建立access.db数据库。
5、  /etc/aliase.db     //信箱别名。可为一个帐号建立多个别名。如我有一个帐号khp,而还想用另一个帐号plakhp收邮件时,我就在/etc/aliases中设置别名。让邮件服务器把寄给plakhp的所有邮件都直接寄给khp。而不用再重建一个plakhp的帐号了。修改完此文件后,用newaliases来建立数据库文件。



三、建立sendmail服务器的过程

1、建好服务器dns域名解析
2、配置sendmail.mc文件
3、用m4工具将sendmail.mc文件导入sendmail.cf文件
4、配置local-host-names文件
5、为客户建立用户帐号
6、重新启动服务使配置生效。

你可能感兴趣的:(职场,sendmail,休闲)