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

邮件系统postfix安装与配置(二)

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

5. 关于延迟邮件的再投递控制

  可以通过以下的几个参数实现对延迟邮件的再投递控制:

queue_run_delay:设置队列管理进行扫描deferred邮件队列的频率,缺省值为1000秒。

maximal_queue_lifetime:设置postfix在放弃投递而返回不可投递信息前,被延迟邮件再deferred邮件队列中的生存时间。

minimal_backoff_time:当一封邮件投递失败后,邮件队列将在一段时间内忽视该邮件的存在,也就是我们前面讲的时间邮票。该参数就是用来设置最小的时间邮票。缺省值为1000秒。

maximal_backoff_time:设置最大的时间邮票。

6. 对拒绝服务攻击的处理

  postfix对每一个SMTP会话都设置一个错误计数器,当该客户端的请求未被接受或违反那UCE规则时,该计数器就增1。随着计数器的增加,postfix将采取不同的措施来防止恶意用户的拒绝服务攻击。

smtpd_error_sleep_time:当该错误计数器的值还很小时,postfix将暂停
smtpd_error_sleep_time指定的时间,然后向客户端报告一个错误。该参数的缺省值为5秒。

smtpd_soft_error_limit:当错误计数器的值超过该参数指定的值时,postfix在响应该客户端请求前将沉睡一段时间。缺省值为10。

smtpd_hard_error_limit:当错误计数器的值超过该参数指定的值时,postfix中断同该客户端的连接。缺省值为100。

4.5 postfix对使用资源的控制

  通过特定的postfix配置参数,我们可以实现postfix运行时对所消耗的资源的灵活控制。可以通过以下几个方面来控制postfix消耗的资源:

1. 限制内存中的对象的大小

  要控制对内存资源的消耗,必须控制内存中对象的大小。可以用以下的参数来进行对象大小的控制:

line_length_limit:控制读入数据时每一行的大小,如果太长则强行将其分割成更短的行,太长的行在投递时再重组。缺省值为2048 bytes。

header_size_limit:限制信头长度。缺省值为102400bytes。

message_size_limit:限制postfix队列文件的大小。缺省值为10240000 bytes。

queue_minfree:邮件队列中可用的空间大小。缺省为无限制。建议该值最好时message_size_limit的数倍以便于处理大邮件。

bounce_size_limit:限制某一邮件不可投递时,返回给发件人不可投递报告的大小,缺省值为50000 bytes。

2. 限制内存中对象的数目

qmgr_message_recipient_limit:设置内存中收件人地址的最大数目。缺省值为10000。

qmgr_message_active_limit:设置active邮件队列中邮件数目的最大值。缺省值为1000。

duplicate_filter_limit:设置需要local和cleanup后台程序记住的收件人地址的最大数目。缺省值为1000。

3.限制等待一个外部命令完成的时间

command_time_limit:设置local程序等待一个外部命令完成的时间。缺省值为1000秒。

4. 限制文件锁定的操作时间

deliver_lock_attempts:设置锁定一个文件的最大尝试次数。缺省值为5次。
deliver_lock_delay:设置如果锁定一个文件失败后再次尝试的等待时间,缺省值为1秒。

5. 控制错误恢复

  在某些情况下(如高负载),postfix的某个进程可能会死掉,这时master进程会试图重新启动该进程,我们可以通过下面的参数来控制这种行为:

fork_attempts:试图重启动一个进程的最大尝试次数。缺省值为5次。

fork_delay:每两次尝试之间的等待时间,缺省值为1秒。

transport_retry_time:队列管理进程每两次尝试连接一个不正常的投递代理进程之间的等待时间。缺省为60秒。

4.6 postfix中的地址操作

1. 将地址改写为标准格式

  在cleanup进程进行表查询之前,它首选请求trivial-rewrite进程将新邮件地址改写成标准的user@fully.qualified.domain格式。改写的目的是为了减少查询表中的条目,从而提供查询的效率。trivial-rewrite进程可以实现以下的地址改写:

* 将包含源路由信息的地址如@hosta,@hostb:user@site写成user@site,因为postfix不支持包含源路由信息的地址格式。

* 将形如user%domain的地址改写成user@domain的形式。该特性可通过allow_percent_hack参数进行控制,其缺省值为yes。

* 将只包含user的地址改写成user@$myorigin。该特性可通过append_at_myorigin参数进行控制,其缺省值为yes。最好不要改动其缺省值,因为大多数的postfix进程更擅长处理地址形如user@$myorigin的邮件。

* 将形如user@host的地址改写成user@host.$mydomain。该特性可通过append_dot_mydomain参数进行控制,其缺省值为yes。

* 将形如user@site.的地址改写成 user@site,也即除去了最后的点号。

2. 规范地址映射

  在cleanup进程将一封新邮件存入incoming邮件队列之前,cleanup进程将根据查询规范表来进行地址改写,从而使之更具可读性。主要是替换形如Firstname.Lastname 风格的地址以及清除无效的域。缺省postfix是不进行规范地址改写的,你可以通过指定canonical_maps参数的值来使其生效。如:

canonical_maps = hash:/etc/postfix/canonical

  也可以分别为收件人和发件人地址分别指定不同的改写规范,这时参数sender_canonical_maps和recipient_canonical_maps的优先级比canonical_maps高。如:

sender_canonical_maps = hash:/etc/postfix/sender_canonical 
recipient_canonical_maps = hash:/etc/postfix/recipient_canonical

3. 地址欺骗

  就是将形如user@host.domain的地址改写成user@domain或user@other.domain, 好像是从其他的邮件服务器发出的一样。缺省该功能是被禁止的,可以用参数masquerade_domains使其生效如:

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



上一篇:为什么软件不应被任何人私有   下一篇:Linux Apache Web 服务器

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