王朝网络
分享
 
 
 

构筑我的电子邮局(下)-QMail篇

王朝other·作者佚名  2008-05-31
宽屏版  字体: |||超大  

第三种 坚固+高性能邮局

[功能:强,配置:非常复杂 易用性:一般,扩展性:非常强,成本:中]

这一类我们选用了著名的QMail基于linux(当然,也可以是在其他Unix系统上,不过具体的操作可能会有一些区别)操作系统来搭建,比较适合富有探索和钻研精神,有一定的Unix/Linux操作基础的企业用户使用。

QMail+Linux的组合非常适合将来在邮件系统的基础上增加发送到短信网关、内容过滤、杀毒模块或者其他扩展功能,并且希望能够支持用户的数量非常大的场合。由于秉承了Unix/Linux一贯低开销的性能特点,因此这种方式还能够很好地利用过时的桌面系统来搭建高性能的电子邮局,代价就是维护和管理需要更多的时间。

由于QMail是一个扩展性非常强大的MTA(邮件传输代理),而不是一个完整的邮件系统,如果要搭建一个功能丰富的基于QMail的邮件系统,我们需要相当多的时间来对过程进行叙述,所以我们在这里只介绍采用QMail搭建一个最基础的邮件系统。当然,更多的功能和组件我们也会在最后逐一进行介绍,方便大家选用和参考。

准备工作

基础的邮件系统包含了SMTP/POP3和简单的用户管理功能,这样就只需要下面这几个软件包:

1、QMail,主要的MTA和信箱管理工具,下载网址:qmail.org/netqmail/。

我们都知道,在使用开源软件的时候,最大的麻烦就是修补和编译,好在QMail的最稳定的版本已经有非常长的时间没有更新过了。而第三方也有了非常完善的整合包,也就是把很多比较优秀的修补整合到一起发布。

我们这次就采用了qmail.org/netqmail/制作的整合包,可以非常好地实现目前流行的SMTP/POP3功能,甚至包括支持SMTP认证等QMail官方版本不支持的功能。

2、vPOPMail,支持邮件用户和件域的管理,下载网址:www.inter7.com/vpopmail.html/ 。

由于QMail官方版本是采用系统的用户来作为邮件用户的,这样就带来2个问题。第一是系统用户可能会带来一些安全上的问题;第二就是系统文件的认证方式会带来性能和用户数量的问题,给管理带来不便。这个程序就是用来弥补这两个缺陷的,我们甚至可以通过这个软件把用户数据放到数据库或者LDAP里面。并且可以创建多个虚拟的邮件域,在单个主机上同时给多个邮件域提供服务。

3、UCSPI-TCP,给QMail提供TCP服务支持,下载网址: cr.yp.to/ucspi-tcp.html 。

由于QMail本身是不提供网络层次的功能的,整个MTA是通过UNIX的标准输出、管道等技术来和网络辅助工具交换数据的,因此QMail还需要一个辅助工具来从网络连接和客户端/其他邮件服务器来交换数据。传统的UNIX都有Inetd这个辅助进程,但是目前看来,这个程序性能和功能都比较过时了,而UCSPI-TCP是QMail官方首选的网络辅助程序,所以我们就采用了这个程序。

开始安装

首先,我们需要准备一个系统来安装我们的邮件系统。要运行邮件系统,我们比较推荐的是Slackware和Gentoo等比较简单的系统,因为在安装这些软件的时候可以选择不安装系统默认的MTA,比如Redhat就会默认安装SendMail,这样我们就不需要再进行清理工作,可以直接开始安装过程。

其中需要注意的是,在安装系统的时候需要安装完整的开发工具和核心包含的文件,用于后面三个软件包的编译。

在系统能够正常运转之后,我们首先在系统中添加几个QMail会用到的用户。使用如下命令:

mkdir /var/qmail

groupadd nofiles

useradd -g nofiles -d /var/qmail/alias alias

useradd -g nofiles -d /var/qmail qmaild

useradd -g nofiles -d /var/qmail qmaill

useradd -g nofiles -d /var/qmail qmailp

groupadd qmail

useradd -g qmail -d /var/qmail qmailq

useradd -g qmail -d /var/qmail qmailr

useradd -g qmail -d /var/qmail qmails

然后把net-QMail解压缩到/home/pkg,最后再使用如下命令完成QMail MTA的安装:

make

make setup check

接下来对QMail进行配置:./config-fast mail.domain.com

cd /var/qmail/alias

touch .qmail-postmaster .qmail-mailer-daemon .qmail-root

chmod 644 /var/qmail/alias/.qmail*

echo 1 /var/qmail/control/mfcheck

echo ./Maildir/ /var/qmail/control/defaultdelivery

第二步,是UCSPI-TCP的安装,几乎和QMail的安装过程一样,命令如下:

make

make setup check

这样就完成了安装。接下来就轮到vPOPMail了!

这个步骤需要解压缩后进行默认配置、编译安装就可以了。

用下面的命令来配置又见,并把用户的邮件存放到/home/vpopmail下面。然后:./configure –PRefix=/home/vpomail

Make install

至此,我们就把这个基本的系统安装完成了。

[Tips:脚本配置]

这里,我们再教你配置一些必要的脚本,以便把刚刚建立好的三个应用程序部分组合起来,并且自动启动QMail。

1、 建立SMTP的转发规则,主要是在/etc/tcp.smtp内写入如下命令::allow

#接受任何Client发出的邮件

#如果要拒绝某些IP所发出的Relay就要修改/etc/tcp.smtp成下面这样

1.2.3.4:allow,RELAYCLIENT=""

127.:allow, RELAYCLIENT=""

#只接受来自1.2.3.4的邮件

2、 下面是把文本格式的规则转换成tcpserver能够识别的cdb格式,命令如下:

/usr/local/bin/tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp

3、 再建立下面这个文件,用于启动QMail的MTA和POP3/SMTP服务。文件名为:/etc/rc.d/qmail.sh,代码如下:

/var/qmail/rc %26amp;

QMAILDUID=`id -u qmaild`

NOFILESGID=`id -g qmaild`

tcpserver -v -x /etc/tcp.smtp.cdb -u UID -g GID 0 smtp /var/qmail/bin/qmail-smtpd %26amp;

tcpserver -H -R 0 pop3 /var/qmail/bin/qmail-popup mail.mydomain.com /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir %26amp;

然后我们就可以用/home/vpopmail/vadduser test@domain.com增加新的用户,并和普通的邮件系统一样使用了。

[Tips:脚本配置]

当然,我们还可以把用户信息放到数据库里面,这样操作起来更加方便,可以编写php或者perl脚本来直接管理等等。下面就是这些扩展功能包的一个清单:

QMail部分附加软件包

Courier-Imap-4.0.6(包含courier-authlib) ,这个软件包可以让QMail?支持Imap协议。

Autorespond是兼容性良好的自动回复的工具,它与Vdelivermail和QMailadmin都兼容良好。

Ezmlm是一个快速的、独特的邮件列表管理器,它能用QMailadmin进行管理。

QMailadmin使你能在Web浏览器下处理所有的虚拟邮件管理任务,包括增加或删除虚拟域。

Igenus,这是国内开发者开发的基于PHP和MySQL认证的Webmail客户端。鉴于其中文化界面和基于比较容易配置的PHP环境,因此目前正在被大范围的采用。不过在实施的时候需要把vPOPMail配置成基于Mysql的用户认证方式。

结束语

至此,我们已经带大家了解了三种典型的电子邮局特点和主要应用操作。它们的特色可谓是各有千秋。当然能够很好地解决实际需求,才是我们这篇文章的主要目的,所以用户也需要在进行实施之前对自己目前和发展的需求有一个充分的了解。

文章里面提到的各种软件,除了Exchange Server 2003,在www.gotobeijing.net/mail或者各自得官方网站就能够找到体验版的下载,有这样需求的用户,不妨亲自动手试试!

动态域名

由于国内的ISP条件限制,有很多用户其实是没有静态IP地址的,每次连接到ISP都会重新分配不同的IP地址。这样的话就没有办法用普通的方法来把域名对应到IP地址上。所以在很多情况下,我们推荐采用动态域名来解决这种“找不到人”的情况。

国外现在有很多有偿和无偿提供动态域名的提供商,这次我们就介绍国内的一家同类公司花生壳(http://www.oray.net),因为这家公司提供了可以运行于Windows和Linux的中文客户端,对于国内的用户来说,使用起来非常方便。只需要安装一个类似IM的客户端,就能够随时把自己的IP地址对应到免费的动态域名上。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有