构建Postfix电子邮件系统<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
上次咱们说了Sendmail.今天来看一下PostfixMail.Postfix最大的好处在于它采用了模块化的设计,有多个不同的程序集合而成,分别用于实现不同的功能.还有就是可以结合mysql数据库使用虚拟邮件用户.现在就来看看如何构建Postfix电子邮件系统.
前面概念我会稍微啰嗦一点,毕竟理解概念才是最重要的.后面我就主要以配置为主喽,下面咱们边做边说.
第一部分:编译安装Postfix
RHEL5系统中默认安装了sendmail,在安装Postfix前先将sendmail服务停止,以免发生冲突.RHEL5也带有Postfix软件的RPM包,但功能太少了,它不支持MySQL数据库,我们采用Postfix的源码包进行编译安装.从官方站点中下载程序文件包postfix-<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />2.4.6.tar.gz ,地址如下:
http://mirror.postfixchina.org
然后下载相应版本的vda补丁包postfix-2.4.6-vda-ng.patch.gx,vda补丁用于支持对虚拟邮件用户设置邮箱空间配额,地址如下:
http://vda.sourceforge.net
1. 创建运行postfix服务的用户(postfix)、组(postfix、postdrop)
说明:指定用户postfix的UID为1000,所属组为postfix,附加组为postdrop,且不创建宿主目录,禁止直接登录到本地系统.
2. 解压并释放源码包、合并补丁包
3. 预配置编译参数
我们采用源码编译安装的AMP平台,并使用RHEL5系统自带的eyrus-sasl认证软件,因此根据mysql、cyrus-sasl的库文件和头文件安装位置对编译参数CCARGS和AUXLIBS进行适当调整,配置命令及参数如下:
说明:在编译前需要使用“make maekfiles”命令调整编译参数,以便Postfix支持SASL认证和查询MySQL数据库.
其中,编译参数CCARGS和AUXLIBS的作用如下:
CCARGS参数:为编译器提供额外的参数.“-I”选项指出标准的额外头文件的存放目录.例如,mysql和cyrus-sasl的头文件分别位于目录:/usr/local/mysql/lib/mysql、/usr/include/sasl.
AUXLIBS参数:指出位于标准位置之外的额外函数库.如果需要链接SASL、MySQL或任何附加的函数库,他们不是存在标准位置(/usr/lib目录),则在AUXLIBS参数中指出这些函数库的路径,例如,mysql和cyrus-sasl的库文件分别位于目录:/usr/local/mysql/lib/mysql、/usr/lib/sasl2.
4.编译并进行安装
执行“make install”命令以后,期间会需要设置一些安装参数,例如
说明:别看它问了这么多,一路回车就可以了,咱按照默认的来,呵呵!
现在Postfix算是装好了,咱们不急着做.先来看一下Postfix的目录、配置文件及启动控制,所谓磨刀不误砍柴工!
Postfix的目录及配置文件:
1. Postfix的相关目录
/etc/postfix:该目录中包括Postfix服务的主配置文件、各类脚本、查询表等.
/usr/libexec/postfix/:该目录中包括Postfix服务的各个服务器程序文件.
/var/spool/postfix/:该目录中包括Postfix服务的邮件队列相关的子目录.
其中每个队列子目录用于保存不同的邮件,比如说:
1>.Incoming(传入):刚接收到的邮件.
2>.Active(活动):正在投递的邮件.
3>.Deferred(推迟):以前投递失败的邮件.Postfix邮件的基本应用,由此可以解决企事业内部的邮件收发,如果要使用户能和Internet上的用户通邮,DNS中的反向记录及MX记录是少不了的.OK!篇幅有限,本次就说到这里吧!下次大家会看到当下较为流行的SquirrelMail与Postfix、Dovecot服务共同协作的应用. |