• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

qmail邮件系统(一)Qmail系统的介绍和准备工作

发布: 2007-5-25 23:49 | 作者: 未知 | 来源: ChinaUnix.net | 查看: 42次 | 进入软件测试论坛讨论

领测软件测试网
作者:peng
论坛ID:peng   www.chinaunix.net 
QQ: 螃蟹 16360544

1.1目的。
本文的目的,是用自由软件在一个Linux平台上安装一套功能完整的邮件系统,和如何来管理他。这里我以qmail作为smtp服务器,vpopmail做pop3服务器和实现虚拟域、用mysql数据库来进行用户验证,用qmailadmin来实现图形化的用户管理。用ezmlm来提供对邮件列表的支持。使用igenus来提供一个友善的webmail界面。
1.2 qmail管理与维护章节
(一)Qmail系统的介绍和准备工作。
(二)qmail+vpopmail+mysql+qmailadmin+ezmlm+igenus的安装
(三)qmail的工作原理和配置文件的设置。
(四)ucspi-tcp的原理和设置。
(五)vpopmail和qmailadmin对用户的管理。
(六)qmail的日志分析和管理。
(七)ezmlm实现邮件列表的应用和管理。
(八)系统的备份和FAQ。
1.2 安装要求
1、 请在安装系统前,最好要多看几片他人写的文档。
2、 悉了所有Dan Bernstein(qmail的作者)发布的文档; 熟悉www.qmail.org(qmail官方站点)的相关资源,尽量理解Life With qmail。
3、 安装软件包前,仔细阅读各自的README AND INSTALL文件,这是最好的安装指南!

1.3感谢
    感谢www.chinaunix.net的论坛网友locklzy、wxy、gadfly,尤其感谢gadfly在技术上给的执导和支持。

1.4软件介绍
httpd-2.0.40.tar.g                   提供web服务的server。
    autorespond.tar.gz                实现e-mail自动回复功能。
ezmlm-0.53.tar.gz                 实现qmail邮件列表功能。
ezmlm-idx-0.40.tar.gz             ezmlm's的补丁程序,使ezmlm支持qmail。
    qmail-1.03.tar.gz                 Qmail软件包
    qmailadmin-0.80.tar.gz            qmail的web管理软件。
    ucspi-tcp-0.88.tar.gz             tcpserver service 程序。
    vpopmail-5.2.tar.gz               实现pop3服务和支持虚拟域。
    qmail-smtpd.c                     qmail的补丁程序,实现smtp认证功能。    
    php4-200303121030.tar.gz           实现apache对php的支持
igenus_2_20030311.tgz               实现webmail的软件包。
Qmail-setup.1.5.3.tar.gz               用其中的qmailadmin汉化部件。
以上软件,可以到各自的网站去获取:
http://www.apache.org/
http://cr.yp.to/qmail.html
    http://www.qmail.org/
http://www.inter7.com/vpopmail/
http://cr.yp.to/ezmlm.html
    http://www.ezmlm.org/
http://www.inter7.com/qmailadmin look for autoresponder link
http://www.igenus.org
http://down.rree.com/iceblood/qmail_setup-v1.5.3.tar.gz

1.5实现的功能
1、 Qmail帐号与系统帐号的分离。
2、 SMTP服务的密码验证功能,能有效的防止别人利用自己的服务器发送匿名信。
3、 用vpopmail提供pop3服务。
4、 实现对虚拟域的支持。
5、 实现邮件帐号WEB管理方式。
2、Qmail邮件列表功能。
3、Qmail自动回复功能。
5、邮件的WEB使用方式,如:WEB发邮件,查看邮件。
6、支持qmail的管理脚本,安装后可以运行qmail start|stop|restart来管理qmail。
7、全面支持Mysql数据库,用户信息和邮件列表都通过mysql存储和验证。
8、实现了QmailAdmin和webmail的中文界面。

1.6 系统设置
  我用的是redhat8.0的系统,在一台康柏的pc server上作的。安装的时候,选择了custom模式。我安装系统的时候,就选择了安装mysql的所有的包。
1.7 apache
   在安装系统时,我没有默认安装apache。我用源代码编译APACHE,是使它打开DSO模块。然后编译PHP,将SO文件安装到你的APACHE的模块目录里,这样也方便以后扩展功能。
1.8 sendmail
  在这里,sendmail已没有任何意义了。本文就是想用qmail来替代unix系统传统上的sendmail。这里我们将要删除他:
 # rpm –e –nodeps sendmail
1.9 系统分区建议
   由于本系统的qmail采用了Maildir格式存储用户的邮件消息。造成大量小文件存在,数量庞大的小文件如果放在 /var 或 /home下,将造成系统性能下降。建议vpopmail单独使用另一块硬盘。还要注意/var/和/home的分区大小。因为/var/要产生大量的日志文件和qmail队列,/home/下用户要保留用户的信件文件。所以规划好硬盘的分区,可以免除以后不必要的麻烦。其实大家可以使用逻辑卷管理磁盘,这样可以动态的更改各分区的大小,是个不错的选择。Linux8安装的时候可以设置。

1.10 dns server设置。
   在这里我的域名假设是:     chinaunix.net
   qmail这台主机名是:        mail.chinaunix.net
   qmail这台主机的ip地址是: 192.168.1.2
   我的mail用户的格式是:    peng@chinaunix.net
   虚拟域名1是:             chinaunix.com
   虚拟域名2是:             fanqiang.com
以上的域名,他们各自的解析主机所对应的zone文件设置是:
 mail    IN  A   192.168.1.2
 @      IN  MX 10  mail

1.11 关于本文挡的声明
   这份文档,是我参考了大量的网友的文章和书籍而写成的。自己经过反复安装和测试,均安装成功。但由于本人水平有限,文档难免有一些遗漏。如果你在安装的时候发现有什么地方有错误的话,请去www.chinaunix.net 的mail论坛讨论,我尽快回复的。
   对于这片文档,网友可以任意转贴。但出于对作者的尊重,转贴时请注明作者姓名

 wolf1980 回复于:2003-05-13 08:06:26
我是个linux一直想在RedHat8.0上做qmail,一直做不好这回会有参考
的资料!!!

 lyking 回复于:2003-05-13 12:50:36
太好了,谢谢。

 hoohoo 回复于:2003-05-13 20:29:39
我在编译时出错
auto-str.c: In function `main':
auto-str.c:17: warning: return type of `main' is not `int'
./load auto-str substdio.a error.a str.a
substdio.a(substdo.o)(.text+0x43): In function `allwrite':
: undefined reference to `errno'
collect2: ld returned 1 exit status
make: *** [auto-str] Error 1
怎么回事????

 gadfly 回复于:2003-05-13 21:59:53
参看
http://www.chinaunix.net/forum/viewtopic.php?t=65573

 hss202 回复于:2003-05-20 00:28:58
我在编译时出错 
auto-str.c: In function `main': 
auto-str.c:17: warning: return type of `main' is not `int' 
./load auto-str substdio.a error.a str.a 
substdio.a(substdo.o)(.text+0x43): In function `allwrite': 
: undefined reference to `errno' 
collect2: ld returned 1 exit status 
make: *** [auto-str] Error 1 
怎么回事???? 


我的也是这样,我是在红帽9。0下的编译

 gadfly 回复于:2003-05-20 12:47:36
参看faq

 shiv 回复于:2003-09-09 12:39:49
哪有faq?
我的也有问题!
[root@test40 qmail-1.03]# make check setup
./compile qmail-local.c
./compile: line 3: exec: cc: not found
make: *** [qmail-local.o] Error 127
[root@test40 qmail-1.03]# make check setupcd ..
./compile qmail-local.c
./compile: line 3: exec: cc: not found
make: *** [qmail-local.o] Error 127

 litchidong 回复于:2004-03-17 16:33:36
Try adding :

#include <errno.h>

as the first line of error.h in the src directory.

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网