IT运维管理,创造商业价值!
中国IT运维网首页 | 资讯中心 | 运维管理 | 信息安全 | CIO视界 | 云计算 | 最佳案例 | 运维资源 | 专题策划 | 知识库 | 论坛

揭秘Postfix邮箱服务器高性能背后的秘密(2)

2008年11月14日
IT专家网/Joyce

  秘密三:延迟暂时无法投递的邮件,把资源用在刀刃上。

  在邮件发送的过程中,各种原因都会造成邮件暂时无法投递。如对方邮箱已经满了,或者对方的邮箱服务器出现了通信故障等等,都可能导致邮件的暂时不可达。若能够合理的处理这个状况,则对提高邮箱服务器的性能也具有一定的帮助。

  而Postix邮箱服务器,则是通过“时间邮票”的形式来处理这种暂时不可达的情况。当一封邮件第一次不能成功投递给对方时,Postix邮箱服务器会给这封邮件贴上一个表示将来的时间邮票。而邮件队列管理程序在处理的时候,发现一封邮件被贴有“时间邮票”,则会忽略它的存在。如此的目的,就是为了最快的处理那些可以达到的邮件,把资源用来刀刃上。

  当这个时间邮票到期的时候,Postix邮箱服务器会尝试对这封邮件再次进行一次发送。若此时成功了,邮件就发出去了。相反,若不成功的话,则Postix邮箱服务器会再次给这封邮件贴上“时间邮票”。只是,此时这个邮票的过期时间要比第一次的过期时间长整整的两倍以上。等到这个时间到后,原来的时间邮票就会作废,Postix邮箱服务器会重新发送这封邮件。

  最后的结果只有两个。一是邮件成功发送了,二是尝过了若干次的机会之后,邮件还是不能够发送出去,邮箱服务器就会放弃发送这封邮件。并把这封邮件的接收者地处存入到上面所讲的内存中的邮件地址不可达列表;并会返还一个错误信息给发件人。当下次用户再次发送这个邮件给用户时,邮箱服务器可能就直接拒绝了,以提高邮箱服务器的整体性能。

  秘密四:本地邮件与外来邮件不同进程分工合作。

  邮箱服务器接收的邮件从广义上来说,可以分为两类。一类是本地邮件,也就是邮箱服务器内部帐户的互发,一般就是员工发给员工。第二类是来自于网络的邮件,也称外来邮件,如来自于客户或者供应商的邮件。

  在Postix邮箱服务器中,这两类邮件时不同的进程分工合作的。如对于来自于服务器本身的邮件,主要是由Sendmail进程来负责的,然后再由Pickup进程对Maildrop中的邮件进行完整性检测。而对于来自外部的邮件,则是由SMTPD进程负责,并且进行安全性检测。网络管理员还可以通过其他的一些方式,如UCE来控制SMTPD的行为。这两个的区别主要在于,来自于内部的邮件一般认为是安全的,因为都来自于同一个服务器(有时会往往是在投递的时候已经作了安全检测,故可以保证本地邮件的安全性)。所以,没有必要进行安全性检测。相反,来自于其他服务器的邮件,可能有病毒,也可能是垃圾邮件,所以需要进行安全性的检测。

  Postix服务器如此设计的目的有二。一是提高内部邮件转发的效率;二是节省了对内部邮件进行检测的时间与资源,把他们用在更需要使用的邮件身上。要知道,对于企业来说,内部员工的邮件转发可能在占据邮箱服务器工作量的一半以上。如此的话,放弃对本地邮件的安全检测,则其可以大幅度的提高本地邮件接收转发的效率。同时,也可以提高外部邮件的安全检测速度。

  Postix邮箱服务器不仅在接收邮件的时候,对本地邮件与外来邮件进行区别对待;而且,在发送邮件的时候,也是区别对待的。

发表评论请到:http://bbs.cnitom.com

相关阅读

图文热点

如何在交付周期中保护Web应用程序安全性
如何在交付周期中保护Web应用程序安全性Web应用程序是当今多数企业应用的前沿阵地。Web应用程序在一个复杂的混合性架构中...
微软加强Hotmail安全 加密通信介入
微软加强Hotmail安全 加密通信介入微软周一表示,他们计划在Hotmail中部署增强后的安全功能,确保攻击者无法实现非...

本类热点