细说Exim4邮件服务器的工作原理

系统 Linux
Exim4被设计成能高效地、不间断地在Internet上运行,而且能处理各种混合邮件,那本文就给大家讲解下Exim4邮件服务器的工作原理,能在以后工作和学习中用到,请看下文。

  Exim4被设计成能高效地、不间断地在Internet上运行,而且能处理各种混合邮件。Exim4是如何投递邮件和接收邮件的呢?有何安全机制能确保邮件的安全呢?这节将简单介绍Exim4的工作原理。

  Exim4 处理的每封邮件都以一个16位字符的名称标识,该标识由三部份组成,以"-"号分隔,如:1GS3YU-0000zG-Nd。这些字符是经过base编码 的,第一部份的原始信息是接收邮件的时间,第二部份的原始信息是接收邮件的进程id,第三部份的信息与配置文件中localhost_number的设置 相关。标识名与时间和进程相关,有效保证了标识名的唯一性。

  Exim4通过基于TCP/IP的SMTP协议从其它主机收取邮件。 Exim4接收邮件后,会把邮件分成两个文件保存在spool目录,在我的机器上就是/var/spool/exim4/input/目录。这两个文件的 命名规则是邮件标识后加-D和-H。以-D结尾的文件保存着邮件正文的信息,以-H结尾的文件保存邮件的头信息。在一些操作系统上,同一目录下包含太多的 文件会造成性能问题,所以Exim4也可通过设置split_spool_directory选项,在input目录下再创建62个子目录来保存邮件信 息。这62个子目录以单个字母和数字命名(26个小写字母+26个大写字母+10个数字共62个数字和字母)。这样的设置,使邮件的排队只在子目录下进 行,而不是一个目录所有邮件。所以即使在邮件量不大的情况下也能效提升邮件系统的性能。

  接收的邮件会停留在spool目录直到邮件被传递到接收者或被管理员删除。如果邮件不能被传递,则邮件会被打上"frozen"标记,并且不会再尝试投递 该邮件。但管理员可以设置 ignore_bounce_errors_after和timeout_frozen_after选项,指定一定时间后解除邮件的"frozen"状 态。

  当Exim4处理邮件时会把处理过程的日志信息保存在/var/log/exim4目录下。其中mainlog日志记录了大量的信息,从中我们可以跟踪 Exim4处理邮件的过程。在一个大负载的服务器上,生成大量的日志信息会影响服务器的性能,所以我们也可以用 no_message_logs参数禁止日志功能。

  router和transport是Exim4传递邮件过程中两个重要的环节, router负责处理邮件地址,并把邮件传递给不同的transport作进一步处理,transport负责把spool中的邮件传递到目的地,完成投 递过程。有两种的transport,一种是本地transport,它的目的地是文件或者本机管道(pipe);另一种transport是远程 transport,它的目的地是远程主机。如果一封邮件有多个接收者,则它可能会通过多个transport进行投递。

  router和transport都有不同的driver,实现不同的功能。

  router drivers

  *

  accept,

  *

  dnslookup,

  *

  ipliteral,

  *

  iplookup,

  *

  manualroute,

  *

  queryprogram,

  *

  redirect,

  transport drivers:

  *

  appendfile,

  *

  autoreply,

  *

  lmtp,

  *

  pipe

  *

  smtp

看了Exim4邮件服务器的工作原理,相信大家对Exim4邮件服务器有了全方面的了解,以后我会为大家讲解更多关于Exim4的知识。

【编辑推荐】

责任编辑:赵鹏 来源: 网络转载
相关推荐

2011-01-18 13:54:45

2011-01-18 14:20:16

2009-09-01 11:10:00

2009-09-16 18:02:13

WSUS服务器

2010-09-25 13:25:55

DHCP服务器工作原理

2013-03-12 17:30:17

2010-03-09 11:21:24

代理服务器工作原理域名服务器工作原理

2024-02-29 09:28:19

2024-02-20 14:53:01

2009-09-24 10:41:35

打印服务器

2010-09-14 11:24:03

Windows tft

2012-02-23 23:46:26

2009-09-03 13:39:49

RHEL4Sendmail邮件服务器

2011-02-21 14:12:15

Postfix服务器安装

2009-09-02 17:25:02

邮件服务器

2010-08-23 16:13:11

DHCP服务器

2011-01-20 10:08:25

postfix安装

2010-03-11 10:05:21

服务器交换机

2009-06-27 20:10:00

LinuxNFS原理

2021-04-21 20:21:07

DNS服务器网络
点赞
收藏

51CTO技术栈公众号