加载中…
个人资料
孟三
孟三
  • 博客等级:
  • 博客积分:0
  • 博客访问:15,469
  • 关注人气:7
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

postfix介绍

(2011-03-11 14:26:51)
标签:

postfix

邮件服务器

it

分类: linuxmail服务

                Postfix介绍

 postfix概述

1.       postfix特点 

 postfix是Wietse Venema在IBM的GPL协议之下开发的MTA(邮件传输代理)软件。下面一段话摘自postfix的官方站点(http://www.postfix.org):“postfix是Wietse Venema想要为使用最广泛的sendmail提供替代品的一个尝试。在Internet世界中,大部分的电子邮件都是通过sendmail来投递的,大约有100万用户使用sendmail,每天投递上亿封邮件。这真实一个让人吃惊的数字。Postfix试图更快、更容易管理、更安全,同时还与sendmail保持足够的兼容性。”

2.      postfix的总体结构

postfix由十几个具有不同功能的半驻留进程组成,并且在这些进程中并无特定的进程间父子关系。某一个特定的进程可以为其他进程提供特定的服务。

大多数的postfix进程由一个进程统一进行管理,该进程负责在需要的时候调用其他进程,这个管理进程就是master进程。该进程也是一个后台程序。

这些postfix进程是可以配置的,我们可以配置每个进程运行的数目,可重用的次数,生存的时间等等。通过灵活的配置特性可以使整个系统的运行成本大大降低。

3.    postfix的邮件队列(mail queues

postfix有四种不同的邮件队列,并且由队列管理进程统一进行管理:

maildrop:本地邮件放置在maildrop中,同时也被拷贝到incoming中。

incoming:放置正在到达或队列管理进程尚未发现的邮件。

active:放置队列管理进程已经打开了并正准备投递的邮件,该队列有长度的限制。

deferred:放置不能被投递的邮件。

队列管理进程仅仅在内存中保留active队列,并且对该队列的长度进行限制,这样做的目的是为了避免进程运行内存超过系统的可用内存。

4.    postfix对邮件风暴的处理

当有新的邮件到达时,postfix进行初始化,初始化时postfix同时只接受两个并发的连接请求。当邮件投递成功后,可以同时接受的并发连接的数目就会缓慢地增长至一个可以配置的值。当然,如果这时系统的消耗已到达系统不能承受的负载就会停止增长。还有一种情况时,如果postfix在处理邮件过程中遇到了问题,则该值会开始降低。

当接收到的新邮件的数量超过postfix的投递能力时,postfix会暂时停止投递deferred队列中的邮件而去处理新接收到的邮件。这是因为处理新邮件的延迟要小于处理deferred队列中的邮件。Postfix会在空闲时处理deferred中的邮件。

postfix对无法投递的邮件的处理

当一封邮件第一次不能成功投递时,postfix会给该邮件贴上一个将来的时间邮票。邮件队列管理程序会忽略贴有将来时间邮票的邮件。时间邮票到期时,postfix会尝试再对该邮件进行一次投递,如果这次投递再次失败,postfix就给该邮件贴上一个两倍于上次时[间邮票的时间邮票,等时间邮票到期时再次进行投递,依此类推。当然,经过一定次数的尝试之后,postfix会放弃]对该邮件的投递,返回一个错误信息给该邮件的发件人。

postfix对不可到达的目的地邮件的处理

postfix会在内存中保存一个有长度限制的当前不可到达的地址列表。这样就避免了对那些目的地为当前不可到达地址的邮件的投递尝试。从而大大提高了系统的性能。

5.    postfix的安全性

postfix通过一系列的措施来提高系统的安全性,这些措施包括:

动态分配内存,从而防止系统缓冲区溢出;

把大邮件分割成几块进行处理,投递时再重组;

 Postfix的各种进程不[在其他用户进程的控制之下运行,而是运行在驻留主进程master的控制之下,与其他用户进程无父子关系,所有有]很好的绝缘性。

Postfix的队列文件有其特殊的格式,只能被postfix本身识别。

   (以上部分摘自百科)

Postfix文件

1.       配置文件

1)       /etc/postfix/main.cf

  这是postfix主要配置文件。几乎所有的参数设置都是在这个文件内规范的。

2)       /etc/postfix/master.cf

改文件主要规定了postfix每个程序的运行参数。是很重要的一个配置文件。不过改文件已经配置好了,通常不需要修改。

3)       /etc/postfix/access                                                    

可以设置开放relay、拒绝联机的来源或目标地址等信息。只有在/etc/postfix/main.cf启动了这个文件,且设置完毕后需要以postmap来处理成为数据库文件。

4)       /etc/aliases

不同的distributions,此文件的放置目录也将不同。用于别名转换。也需要在/etc/postfix/main.cf启动这个文件,并且用postaliases或newaliases设置生效。在centos中,sendmail和postfix兼容,这个文件可以共用。

2.      可执行文件

1)          /usr/sbin/postconf

这个命令可以用来查询postfix详细设置数据。包括系统默认值也会被列出来。example:postconf  -n 列出非默认值的设置数据。

2)          /usr/sbin/postfix 此为postfix的主要执行文件,可以简单的使用它来启动或重新读取配置文件。”postfix check”:检查postfix相关的文件、权限等是否正确;“postfix start”开始postfix的执行;“postfix stop”关闭postfix;“postfix flush”强制将目前正在邮件队列的邮件寄出;“postfix reload”重新读入配置文件,即/etc/postfix/main.cf。

3)          /usr/sbin/postalias

把别名文件/etc/aliases转换成数据库/etc/aliases.db。例如postalias hash:/etc/aliases。

4)          /user/sbin/postcat

检查放在queue队列中的信件内容。查看的目录文件一般在/var/spool/postfix/下面。

5)          /user/sbin/postmap

作用是把/etc/postfix/access转换成数据库文件。例如:postmap hash:/etc/postfix/access

6)          /usr/sbin/postqueue

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有