Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5351751
  • 博文数量: 1144
  • 博客积分: 11974
  • 博客等级: 上将
  • 技术积分: 12312
  • 用 户 组: 普通用户
  • 注册时间: 2005-04-13 20:06
文章存档

2017年(2)

2016年(14)

2015年(10)

2014年(28)

2013年(23)

2012年(29)

2011年(53)

2010年(86)

2009年(83)

2008年(43)

2007年(153)

2006年(575)

2005年(45)

分类: LINUX

2006-12-10 09:20:47

创建:2005-10-28 00:00:00
作者:Unlinux
来自:

基于qmail的邮件系统管理建议

注:内含实现邮件多域转发功能的示例及日志文件有关内容。

一、 相关软件包的功能:
1. qmail-1.03:提供SMTPd服务与POP3d服务的软件包。
2. vpopmail-4.8.9:在qmail软件包的基础上提供多虚拟域的功能,主要功能如下:
A) 传送给虚拟域用户的邮件,通过程序vdelivermail将邮件放置在正确的目录下。
B) 当虚拟域用户接收邮件时,通过程序vchkpw进行用户验证和获得虚拟用户的homedir。
3. qmailAdmin-0.39基于web的通过vpopmail软件包来管理域邮件用户。
A) 由于所有虚拟域在系统中只有一个真实的unix用户vpopmail,该用户可对所有虚拟域的邮件用户及其邮件进行处理。为更好地管理虚拟域,qmailAdmin使用vpopmail提供给各虚拟域的邮件用户postmaster,通过postmaster对其所属虚拟域的所有用户进行管理。
B) 提供了对虚拟邮件用户数目、别名数目、转发数目、邮件列表数目、自动应答数目进行控制的手段。
4. ezmlm-0.53:邮件列表管理程序,包含很多功能
5. autorespond-1.0.0:自动应答程序,包含很多扩展功能。
6. ucspi-tcp-0.88:主要使用tcpserver程序,聆听远程发来的tcp请求,对各种基于TCP的守护服务进行监控。
A) 对远程同时发生的服务请求数目进行控制。
B) 指定运行该服务的uid与gid。
C) 对远程连接请求的允许或拒绝。
7. daemontools-0.61:服务的管理工具。
A) 使用svscan程序通过supervise机制启动和监管服务。
B) 使用svc程序去启动、停止、查看状态等各种操作。
C) 使用supervise创建的pipe利用multilog程序对服务进行日志管理。
8. SqWebMail-1.0.3:通过web收发邮件。

二、 对基于qmail的邮件系统进行管理的基本意见:
潜在的问题:
1. qmail控制文件相当繁多,有些控制文件要求将文本格式转换为cdb数据库格式,一旦不注意就会产生问题。
2. 针对不同的控制文件设置,邮件传送过程被划分为很多步骤,对应不同的传送方式。
建议:
1. 尽量使用vpopmail软件包进行管理,将本地域也作为虚拟域处理,需在编译vpopmail时将本地域指为虚拟域中的主域。Vpopmail的命令能自动在rcpthosts、virtualdomains、assign控制文件添加相应记录,并将assign转换为cdb格式文件,它又能自动生成dot-qmail文件。
2. vpopmail能对虚拟域中包含用户邮件目录自动利用多级目录很好地进行控制。
3. 只有在必要的时候,又对qmail的整个处理流程有细致的了解的情况下,才直接修改qmail的控制文件。

三、 直接修改qmail控制文件的示例:
实现意图 - 多域转发
将163.com这个域的所有邮件放入某个虚拟域中的虚拟用户gz的Maildir中。
将21cn.com这个域的所有邮件放入某个虚拟域中的虚拟用户sh的Maildir中。
实现步骤:
1. 在rcpthosts文件中加入下面行:
163.com (注意:locals文件中不能有这些行)
21.com
2. 在virutaldomains文件中加入下行:
163.com:huangys-163 (注:huangys-163只是为了以后的匹配)
21cn.com:huangys-21cn
3. 在/var/qmail/users/assign文件中加入下行:
+huangys-163:ezhong.com:7798:2110:/var/vpopmail/domains/ezhong.com:-:163:
+huangys-21cn:ezhong.com:7798:2110:/var/vpopmail/domains/ezhong.com:-:21cn:
注意:
A) 由于要将此域的信件放于某个虚拟域中,所以要使用vpopmail与其组vchkpw的uid与gid。
B) /var/vpopmail/domains/ezhong.com为dot-qmail文件的存放地。
C) :-:163:部分是为了控制dot-qmail文件名。
4. 使用/var/qmail/bin/qmail-newu命令将assign文件转换为cdb文件。
5. 在/var/vpopmail/domains/ezhong.com目录中创建.qmail-163-default文件,文件内容如下:(此文件的所有者与所属组应为vpopmail与vchkpw)
/var/vpopmail/domains/ezhong.com/gz/Maildir/
(如要将邮件转发到某远程主机的上,另外使用相应的转发命令。)
6. 在/var/vpopmail/domains/ezhong.com目录中创建.qmail-21cn-default文件,文件内容如下:(此文件的所有者与所属组应为vpopmail与vchkpw)
/var/vpopmail/domains/ezhong.com/sh/Maildir/

四、 qmail日志的管理:
1. 使用multilog程序将邮件日志存放在/var/log/qmail目录下,其中smtpd与pop3d的相关日志分别存放在子目录smtpd与pop3中。
2. multilog程序能根据要求,自动循环维持日志文件的大小,将原来的内容转存为另一文件。
3. 由于采用另一种形式的时间戳,所以要查看时间,则需用程序tai64nlocal将时间戳转换成可读形式。

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