首页 | 邮件资讯 | 技术教程 | 解决方案 | 产品评测 | 邮件人才 | 邮件博客 | 邮件系统论坛 | 软件下载 | 邮件周刊 | 热点专题 | 工具
网络技术 | 操作系统 | 邮件系统 | 客户端 | 电子邮箱 | 反垃圾邮件 | 邮件安全 | 邮件营销 | 移动电邮 | 邮件软件下载 | 电子书下载

邮件服务器

技术前沿 | Qmail | IMail | MDaemon | Exchange | Domino | 其它 | Foxmail | James | Kerio | JavaMail | WinMail | Sendmail | Postfix | Winwebmail | Merak | CMailServer | 邮件与开发 | 金笛 |
首页 > 邮件服务器 > Postfix > postfix队列管理 > 正文

postfix队列管理

出处:5DMail.Net收集整理 作者:5DMail.Net收集整理 时间:2013-5-30 11:32:32
 队列管理单元的服务器程序--qmgr,是整个postfix系统的中心枢纽。所有邮件,包括等待送出与从外界收进来的,都必须通过队列。了解队列的运行原理以及postfix如何处理队列,有助于你解决问题。
队列管理器总共设置了五个做不同用途的队列,包括:输入、活动、等待、故障、保留。每个队列在queue_directory参数指定的路径下各有一个专属的子目录。默认的队列目录是/var/spool/postfix/。
于后台运作的qmgr daemon能自动处理大部分的队列管理工作,必要时,管理员可使用postsuper和postqueue自己动手管理。本章介绍qmgr于相关命令行工具的运行原理,以及能影响队列的postfix参数。qmgr的运行原理
邮件进入postfix系统的第一站是“输入队列”。postfix以queue_minfree参数来保护队列文件系统,此参数的默认值为0,表示qmgr可以无限制地使用队列磁盘空间。如果你不想队列耗尽服务器地磁盘空间,建议你设定一个合理地上限值。
每当有新信进入收件队列,qmgr便会将邮件移到活动队列,并调用适当地MDA来处理。只要投递过程没遇到意外,这段流程通常是相当迅速地,快到你没机会 见到邮件停留在活动队列里,除非postfix正在将邮件送到一台非常慢地远程smtp server。如果无法在30秒内连接到远程系统,postfix便会认为该系统目前无法到达。
暂时无法送出去地邮件会被放在等待队列。可能发生了临时性意外包括:DNS系统暂时离线、远程服务器主机临时故障、网络不稳定、收件人地邮箱爆满等。如果遇到永久性地问题或是被远程拒收,则邮件会连同错误报告立刻被退回给原寄件人,不会留在队列里。等待邮件留在等待队列里地邮件,会待到它们被成功投递出去,或因为超时而被退回给原寄件人为止。退信通知函与遭退邮件地总和大小不得超过bounce_size_limit,如果超过此限制,则原寄件人只会收到退信通知函,而不会收到遭退邮件本身。
如果邮件一时无法投递,postfix会给邮件标上一个时间,这个时间代表下次尝试投递得时刻。对于一时无法联系得远程主机,postfix会将它们另外 记录在自己内部得一份有时效性得名单上,借此避免不必要的递送尝试。如果有任何等待邮件要被安排重新投递,而且活动队列里有足够空间,则qmgr会交替在 等待队列与收件队列之间取信。如此一来,新进邮件不至于因为postfix正在忙着处理大量等待邮件而等待太久。队列调度postfix会定期扫描队列,检查每一封等待邮件的时间,看看是否有任何等待邮件已经到了下一回合应该尝试投递的时间。每一次投递失败,都会导致延迟间 隔时间加长,所以,失败次数越多,就必须等待更长的时间才有再次被投递的机会。延迟时间上限由maximal_queue_lifetime参数决定。如 果邮件在等待队列里的时间超过此上线,postfix便会放弃投递,并退信给原寄件人。maximal_queue_lifetime的默认值为5天,你 可以将它改成任何时间长度;如果你希望postfix在第一次递送失败时就立刻退信,你可将此参数的值该为0。
postfix内部的队列扫描间隔决定于queue_run_delay参数,其默认值为1000秒。也就是说,大约每隔1000秒,postfix就会检查一次等待队列,看看是否有任何应该再次尝试投体的邮件。
postfix重新投体等待邮件的频繁程度的上下限,分别由minimal_backoff_time与maximal_backoff_time这两个 参数决定。每次邮件被延迟,qmgr便会加长下次投递机会的时间间隔,但是累增后的间隔时间不的超过上线,也不得低于下限。如果你发现经常有寄不出去的等 待邮件,或许你应该考虑适度加大上线,让postfix不要浪费太多资源于等待邮件。投递操作每当需要投递邮件时,qmgr便会调用适当的MDA来运行投递程序。postfix会很谨慎地避免干扰收信系统,并提供几个参数来控制外寄邮件地可用资 源。这些参数地默认值应该足以应付大部分地情况,但是如果你地操作环境特殊,需要调整资源分配或是想要改善投递操作,你应要实际的测试qmgr或MDA的 操作参数,并依据实测效果来嫁衣调整。
列在master.cf配置文件里的各个MDA,都有可能被用来投递外寄邮件。master.cf配置文件的maxproc字段限定了MDA的进程数上限。如果该字段没有明确的设定值,则postfix使用default_process_limit参数的值为默认值。
大部分的MDA都有能力同时投递多封邮件到同一个目的地,但是并非所有收信系统都时时刻刻有能力同时收下许多邮件。为了兼顾投递效率于接收系统的工作负 荷,postfix使用一种特殊的投递调度算法:如果有多封邮件要送到同一个目的地,MDA第一次最多只能同时送出 initial_destination_concurrency封邮件,如果能成功完成初次投递,则postfix会尝试同时送出更多邮件,知道发现目 的地系统不能承当当前的工作负荷,或是同时投递的邮件数即将超过default_destination_concurrency_limit。
里可以适度提升initial_destination_concurrency参数的值,但是不能超过该MDA在master.cf配置文件的 maxproc字段值。一般而言,你不应该提升default_destination_concurrency_limit,因为这有使收信系统瘫痪的 风险。
postfix随附的每一个MDA,都有一个对应的mad_destination_concurrency_limit参数,它们的效力高于 default_destination_concurrency_limit参数。因此,如果想提升本地邮件的同时投递量,而不想影响其他MDA,你可 以修改local_destination_concurrency_limit参数的值。同理,如果只想降低远程邮件的同时投递量,而不影响其他 MAD,也可借由修改smtp_destination_concurrency_limit参数来达成目的。
同理,postfix内置的所有MDA都有自己的mad_destination_concurrency_limit参数,它们限制postfix将邮 件交给MDA时,每次最多可以指定多少位收件人。如果同一封邮件的邮件人数超过MDA每次能够承受的人数,postfix会将收件人分成多个小组,分批投 递。损毁邮件故障队列纯粹用于存放受损或无法解读的邮件。如果邮件已经损坏到无法进行任何处理的程度,postfix便将它们放在此处,供你调查故障原因。管理员可使 用“队列管理工具”提到的工具来检查故障邮件。一般而言,故障邮件非常少见,如果不幸遇到,通常是操作系统或硬件故障的征兆。错误通知函postfix可发出“错误通知函”给管理员,让管理员知道发生了什么类型的错误。postfix将错误通知分成七大类,管理员可设定main.cf里的 notify_classes参数来决定要收哪些类型的错误通知。在默认情况下,管理员只会收到resource与software两种错误类型的通知 函。
对于每一种类型的错误通知函,都有一个对应的class_notice_recipient参数,这些参数代表该类通知函的收件人地址,它们的默认值都是postmaster。
bounce      遭退邮件本身的标头
2bounce      无法投递的退信通知函
delay         被延迟邮件的标头
policy      smtp对话过程(因违反垃圾邮件过滤条件而予以拒收的邮件)
protocol      smtp对话过程(曾经在smtp对话过程出现错误者)
resource  因为系统资源问题而投递失败的通知
software    因为软件问题而投递失败的通知
如果想收到所有问题的通知函,请照下面这样设定notify_classes参数
     notify_classes = bounce, 2bounce, delay, policy, protocol, resource, software
如果你的站点有专人研究垃圾邮件,你可以这样设定:
        policy_notice_recipient = antispamexpert@example.com队列管理工具postfix提供了一组命令行工具来检查、控制、管理队列里的邮件,其中以postsuper和postqucuc这两个工具最为重要。你可以对队列中的邮件进行下列操作:
     显示邮件列表
     删除邮件
     重新排队
     保留邮件
     显示邮件内容
     清空邮件
每一种操作都有对应的命令。显示邮件列表邮件列表的显示项目,包括邮件在队列里的标识符、大小、到达时间、寄件人地址、收件人地址。对于等待邮件,还会另外显示等待原因。如果邮件是在活动队列 里,其标识符栏会加注一个星号(除非你的服务器很慢或是负荷沉重,否则应该没有机会见到星号)。在保留队列里的邮件的邮件,其标识符栏会加注一个感叹号。 等待邮件不加注任何符号。
使用postqueue -p 命令可列出队列里的所有邮件,其效果如果sendmail包的mailq。当安装postfix时,安装脚步会以postfix版的mailq程序(它其 实只是postqueue -p的符号链接而已)取代sendmail包原有的同名程序,借此维持与sendmail包的兼容性。删除邮件使用postsuper命令的-d选项,可移除队列里的邮件。邮件是以它们在队列里的标识符表示。
如果要删除所有邮件,请把标识符换成ALL
请注意,由于删除所有邮件是相当危险的操作,所以ALL关键字必须全以大写字母表示才有效,其目的是希望你三思而后行。保留邮件当你想将邮件无限期留在队列系统里,保留队列就成为容纳这些邮件的场所。不管邮件目前已经传到哪一个队列,你都可以将它们移除原来的队列,转移到保留队列。
假设你已经知道要保留的邮件的标识符,使用postsuper工具的-h选项,就可将指定的邮件搬到保留队列:
  postsuper -h DRA3P1A9
在这之后,如果观察邮件列表,会发现该邮件的标识符多了一个感叹号。
要将邮件移回原来的队列,继续其未竟之进程,可使用同一个postsuper工具,只要将原来的-h改成-H。
在邮件被移回原来的队列之后,qmgr依照平常的调度原则来决定其下次投递时间。或者,你也可以执行清空(flush)命令,立刻将邮件递送出去。重新排队如果因为配置问题而耽误了任何邮件,在问题解决之后,你可能希望被耽搁的邮件重新走一遍队列处理流程,以便能够成功完成递送。因为配置问题可能使得 postfix在邮件里存储了错误的投递处理信息,或是使用了错误的地址改写法则。重新排队会使得postfix依据里的新配置来修正错误信息。使用 postsuper工具的-r选项,可以重新排队某一特定邮件,或是要求所有邮件全部都重新排队。显示邮件内容使用postcat工具的-q选项,可以查看一个队列文件的内容
早期版本的postcat并未提供-q选项,而是要求你提供队列文件的完整路径。然而,由于邮件可能在各个队列目录之间游移不定,而且这些队列目录还有自己的子目录,所以管理员很难一眼看出队列文件的完整路径。清空邮件要求postfix立刻投递滞留在队列里的邮件的操作称为清空(flush),执行清空动作的命令是postqueue -f。不过,除了你有理由确定邮件一定能成功投递出去,否则,最好还是让qmgr自己决定重新投递的时机。不断的反复要求清空,会严重影响邮件服务器的效 率。
使用-s选项可清空寄到特定站点的邮件,而且收件站点必须要有接收快速清空的“资格”才有效。要使得某站点具备此资格,你必须将该站点的主机名称或网域名 称列在fast_flush_domains参数中。此参数的默认值只包含relay_domains所列的所有网域,但是你可以视情况增加额外的站点:
       fast_flush_domains = $relay_domains example.com
如果你有一个间歇性的邮件交换机,你可以在该交换器上线的时间内,使用postqueue -s清空先前无法送达到该交换器的所有邮件:
    postqueue -s example.com   未读邮件存储在new中, cur存储已读邮件, tmp 是为那些正在传送过程中的邮件使用的
相关文章 热门文章
  • postfix认证出错 sasl
  • 关于Postfix RBL设置的问题
  • 企业开源电子邮件系统安全保障实战精要: 第 2 部分,Postfix 安全防护实战及垃圾邮件防范
  • Postfix自身的防垃圾过滤技术
  • 给postfix设置黑名单
  • postfix 传输表transport map
  • postfix防止伪造本域发件人
  • postfix搭建纯邮件转发服务器
  • 手把手让你实现postfix+extmail+mysql虚拟用户邮件体系
  • Postfix SMTP Server Cyrus SASL支持内存破坏漏洞
  • postfix+dovecot+postfixadmin+mysql架设邮件服务器
  • FreeBSD上建立一个功能完整的邮件服务器(POSTFIX)
  • Install and configure Postfix with Cyrus-SASL+Cyr...
  • 在FreeBSD上建立一个功能完整的邮件服务器
  • postfix 邮件病毒过滤
  • 在Fedora上建立自己的邮件服务器
  • Postfix + SpamAssassin 安裝手冊
  • Postfix + Courier-IMAP + Cyrus-SASL + MySQL + IMP...
  • Postfix + Cyrus-SASL + Cyrus-IMAPD + PgSQL HOWTO
  • 在FreeBSD5.1簡單安裝Postfix+Qpopper+Openwebmail
  • 在RHEL 4 上配置全功能的Postfix 服务器
  • Postfix + Cyrus-IMAP + Cyrus-SASL + MySQL + IMP 完..
  • 我的POSTFIX安装笔记
  • Postfix电子邮局的配置步骤
  • 自由广告区
     
    最新软件下载
  • Exchange Serer 2013 安装指南
  • Exchange Server 2013 Cumulative upd...
  • Acronis Disk Director 10
  • WinWebMail Server 3.8.5.1 标准版
  • WinWebMail Server 3.8.5.1 企业版
  • ORF Fusion 5.0 反垃圾邮件软件正式版
  • MDaemon Server 简体中文版
  • Exchange Server 2010 Service Pack 3
  • WinWebMail Server 3.8.3.3 标准版本
  • WinWebMail Server 3.8.3.3 &nbs...
  • WinWebMail Server 3.8.2.1 标准版
  • WinWebMail Server 3.8.2.1 企业版
  • 今日邮件技术文章
  • postfix队列管理
  • uchome sendmail fail
  • postfix认证出错 sasl
  • 关于Postfix RBL设置的问题
  • 如何给邮件服务器添加SPF记录
  • 为Outlook排错的10个重要技巧
  • TurboMail邮件系统五招打造顾客满意度...
  • 邮箱被盗号外发垃圾邮件 TurboGate邮件..
  • 会展企业开展邮件营销的作用及方法
  • Sparrow – 像玩微博一样用邮件
  • IBM:永别了 Lotus 1-2-3
  • 销售类电子邮件怎么写?
  • 最新专题
  • Windows Server 2012技术专题
  • Windows 8 技术专题
  • Exchange Server 2013技术专题
  • Exchange 2003升级到Exchange 2010
  • 鸟哥的Linux私房菜之Mail服务器
  • Exchange Server 2010技术专题
  • Windows 7 技术专题
  • Sendmail 邮件系统配置
  • 组建Exchange 2003邮件系统
  • Windows Server 2008 专题
  • ORF 反垃圾邮件系统
  • Exchange Server 2007 专题
  • 分类导航
    邮件新闻资讯:
    IT业界 | 邮件服务器 | 邮件趣闻 | 移动电邮
    电子邮箱 | 反垃圾邮件|邮件客户端|网络安全
    行业数据 | 邮件人物 | 网站公告 | 行业法规
    网络技术:
    邮件原理 | 网络协议 | 网络管理 | 传输介质
    线路接入 | 路由接口 | 邮件存储 | 华为3Com
    CISCO技术 | 网络与服务器硬件
    操作系统:
    Windows 9X | Linux&Uinx | Windows NT
    Windows Vista | FreeBSD | 其它操作系统
    邮件服务器:
    程序与开发 | Exchange | Qmail | Postfix
    Sendmail | MDaemon | Domino | Foxmail
    KerioMail | JavaMail | Winwebmail |James
    Merak&VisNetic | CMailServer | WinMail
    金笛邮件系统 | 其它 |
    反垃圾邮件:
    综述| 客户端反垃圾邮件|服务器端反垃圾邮件
    邮件客户端软件:
    Outlook | Foxmail | DreamMail| KooMail
    The bat | 雷鸟 | Eudora |Becky! |Pegasus
    IncrediMail |其它
    电子邮箱: 个人邮箱 | 企业邮箱 |Gmail
    移动电子邮件:服务器 | 客户端 | 技术前沿
    邮件网络安全:
    软件漏洞 | 安全知识 | 病毒公告 |防火墙
    攻防技术 | 病毒查杀| ISA | 数字签名
    邮件营销:
    Email营销 | 网络营销 | 营销技巧 |营销案例
    邮件人才:招聘 | 职场 | 培训 | 指南 | 职场
    解决方案:
    邮件系统|反垃圾邮件 |安全 |移动电邮 |招标
    产品评测:
    邮件系统 |反垃圾邮件 |邮箱 |安全 |客户端
    广告联系 | 合作联系 | 关于我们 | 联系我们
    版权所有:邮件技术资讯网©2003-2016 www.5dmail.net, All Rights Reserved
    www.5Dmail.net Web Team   粤ICP备09060656号