《2022年qmail邮件系统(三)qmail的工作原理和配置文件的设置邮件服务器教程.docx》由会员分享,可在线阅读,更多相关《2022年qmail邮件系统(三)qmail的工作原理和配置文件的设置邮件服务器教程.docx(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2022年qmail邮件系统(三)qmail的工作原理和配置文件的设置邮件服务器教程摘要:qmail邮件系统(三)qmail的工作原理和配置文件的设置(三)qmail的工作原理和配置文件的设置作者:peng论坛ID:QQ:螃蟹16360544前言在这章里,我们主要是介绍qmail的工作原理和配置文件的设置。通过这一节,让我们更好的分析问题和设施qmail。3.1qmail是什么?qmail包是在unix系统上的一个邮件程序。qmail程序是由danbernstein开发出来的为标准的unix服务器供应邮件传输代理的(mailtransferagent,mta)功能的,用来替代sendmail。
2、qmail因特网主页http:/www.qmail.org。3.2qmail和相关的服务qmail供应了mta功能,但是客户要能看到自己的信件,还须要其他协议和软件。两种常见的远程用户取回他们消息的机制是邮政协议(postofficeprotocal,pop3)和互交邮件访问协议(interactivemailaccessprotocol,imap)。综述:qmail系统包括几个可执行程序、配置文件、qmail工具和环境变量,这些彼此相互影响,共同供应邮件服务。3.3qmail投递邮件进程流程img:aab85b0985qmail系统中有9个核心程序,这里简洁的介绍一下。qmail-smtpd
3、负责接收来自远程主机的邮件消息并将它们传送给qmail-queue处理。qmail-inject程序是用来接收本地产生的邮件消息并传送给qmail-queue程序。qmai-queue程序处理他们发来的邮件,移进邮件队列以便发送。一旦消息被胜利的放在邮件队列中,就调用qmail-send程序来处理他。qmail-send检查邮件队列中每一个消息状态,前一次邮件恳求失败的消息被识别,并确定它是临时失败还是永久的,临时失败会再次投递,永久失败将被送递到qmail-clean程序,被删除掉。也就是说,qmail-clean好用来清除永久失败的的邮件消息的。qmail-send调用了qmail-lsp
4、awn和qmail-rspawn程序。qmail-send推断邮件是发给谁的,发给本地的,就交给qmail-lspawn程序,再由qmail-local投送到本地邮件服务器。要是确定为远程主机,就调用qmail-rspawn程序,qmail-rspawn为每一个邮件消息的接受方确定目的的邮件服务器,再调用qmail-remote程序发送。2.2qmail的进程qmail-sendsploggerqmailqmail-lspawnqmaiil-rspawnqmail-cleanqmail在任何时候都要求有五个程序在后台运行。这些核心的程序允许qmail扫描新邮件,并将他们发送到适当的目的地。3.
5、4qmail好用工具程序除了以上五个qmail进程外,进程和本地用户在处理和传输消息的过程中,都还会用到几个其他的qmail好用工具程序。如下:bouncesaying允许用户将消息转发给程序或者程序不行用时反弹回信息condredirect允许用户将消息转发给程序,然后把消息转发到另一个地址except过去常用来修改一个调用程序的退出编码forward将消息转发给一个备用的邮件地址maildir2mbox将在maildir格式邮箱中的消息转换到一个标准的sendmail邮箱中maildirwatch产生一个maildir格式的邮箱maildirwatch监控一个用户的邮件书目并报告全部的新消
6、息preline在将消息转发给相关程序前预处理这些消息qbiff当新消息到达后向用户终端显示器上写一个通知qmail-clean从qmail邮件队列中恒久的移出无法到达的消息qmail-inject将新消息插入到qmail邮件队列中qmail-local向本地邮件系统上的用户投递消息qmail-lspawn由qmail-send调用以便向qmail-local程序转发消息qmail-newmrh用来从morercpthosts文件中创建qmail数据库qmail-newn从一个包含系统用户名和邮件名的ASCII文件表建立一个qmail用户文件qmail-pop3d接受pop3连接以便让用户阅读
7、他们的邮箱qmail-popup用来验证pop3连接中的用户ID和密码qmail-pw2u将UNIX系统的用户id和密码转换成qmail-newn能用的一个表结构qmail-qmtpd接受远程主机发来的qmtp连接恳求qmail-qread产生一个显示当前qmail邮件队列里消息的报告qmail-qstat产生一个报告来显示当前处在qmail投送状态下等待发送的消息数目qmail-queue将邮件消息排队等待投送qmail-remote将消息投送给远程邮件用户qmail-rspawn由qmail-send调用来向qmail-remote转发消息qmail-send尝试投送qmail邮件队列里的
8、邮件消息qmail-showctl显示当前的qmail系统配置状况qmail-smtpd接收来自远程主机的smtp连接恳求qmail-start初始化qmail的启动脚本qmail-tcpok用来清空qmail-remote中用到的tcp超时记录表qmail-tcpto显示当前的tcp超时记录表qreceipt用来会应对要求受到进行确认的消息sendmail用来将sendmail程序的功能复制到mta程序中splogger将消息插入系统登陆程序中tcp-env将网络连接的信息转换成unix环境变量每一个qmail好用工具程序都在正确的处理和投递邮件消息中扮演不同的脚色。其中有一些只能qmail
9、内核程序调用,其他的就可以由qmail的系统管理员用来处理消息并得到统计信息。还有一些可以被单个一般邮件用户来制定自己的邮件消息处理。3.5qmail环境变量除了限制文件之外,qmail程序还能运用unix环境变量来限制他们的动作。多数的限制文件的值都能被一个相应设定的环境变量重载。假如该环境变量没有设定,就运用限制文件的值。qmail的环境变量是在qmail程序运行前就被设置好的。这是由一个包装程序完成的。常见的是tcpwrapper和tcpserver。本文就是用的tcpserver。在以后的(四)ucspi-tcp的原理和设置内容中,再具体探讨。3.6qmail限制文件这一部,对于管理好
10、qmail,特别重要的。限制文件是qmail配置中的中心环节,它限制了qmail的操作性为。它位于/var/qmail/control书目下。每一个文件包含一个值,这个值定义了相应的qmail可执行程序的变量。qmail限制文件是定义了qmail参数的ASCII文本文件。大多数限制文件要求一个单一的文本值,该值可以在一行中输入。也有一些限制文件能包含多个值。在这种状况下,每一个值被输入到单独的一行中,每一行以一个标准的UNIX换行符(LF)结尾。还有一个要重点留意,就是限制文件的权限问题,举荐root可读写,其他只读。#chmod644/var/qmail/control/*以下将逐一介绍个限制文件:-badmailfrom这个限制文件实现拒收邮件功能的,每一个地址遵循前面说的规则,要单独一行。而且,不用重起qmail就能生效。例如:peng-