Chinaunix首页 | 论坛 | 博客
  • 博客访问: 233602
  • 博文数量: 46
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 620
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-12 18:04
文章分类

全部博文(46)

文章存档

2010年(7)

2009年(39)

我的朋友

分类:

2009-03-18 14:03:03

系统分析(一)

目录

 

 

 

 

 

系统结构图

功能模块

负责将本地用户发送的邮件通过管道提交给qmail-queue处理.

负责将通过远程发送的邮件通过管道提交给qmail-queue处理.

负责将邮件放入mail queue中,并进行相关初始化操作后通知qmail-send开始发送。

通知是通过fifo实现。

Qmail-queue进程由qmail-inject,和qmail-smtpd分别创建执行。

邮件存储队列,后续详细说明。

负责清除邮件存储队列中因错误导致留在队列中的邮件。它的作用是从邮件队列中删除投递永久失败的邮件。qmail使用多种状态标示来标记邮件,每个邮件在每一次被处理后它的状态表示都会被改变。如果系统当 机,系统重新启动以后,qmail-send仍然可以找到邮件队列中上次最后一次成功处理过的邮件的位置,并且从这里重新开始处理邮件队列。如果由于其他 原因造成qmail-send不能处理的邮件队列,qmail-send会调用qmail-clean从邮件队列中删除邮件。qmail-clean也是 常驻内存的进程。

负责对邮件存储队列取待发邮件进行分析处理,分别提交给本地发送进程和远程发送进程处理。同时等待处理结果,根据处理结果对邮件进行再处理。

Qmail-send做为后台程序一直运行。

负责接收从标准输入0,传递过来需要进行本地投送的邮件,通过创建qmail-local子进程将邮件发送。

Qmail-lspawn做为后台程序一直运行。

 

负责接收从标准输入0,传递过来需要进行远程投送的邮件,通过创建qmail-remote子进程将邮件发送。

Qmail-rspawn做为后台程序一直运行。

 

它的作用是投递本地邮件服务器的邮件。

它的作用是通过SMTP协议将邮件投递到远端的用户。邮件是通过qmail-rspawn传递过来的,qmail-remote每次只可以同一个远端主机 连接,不过在连接时qmail-remote可以投递这个远端主机上的多个接收者的邮件。投递当中的调度是由qmail-rspamwn来负责的。



阅读(803) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~