另外:如果下面的文档中:
有如下命令行的,表示是超级用户(root),
# command
有如下命令行的话,表示是普通用户
$ command
*/
一、支持的操作系统
AIX 3.2.5
AIX 4.1.x
AIX 4.2.0
BSD/OS 2.x
BSD/OS 3.x
BSD/OS 4.x
FreeBSD 2.x
FreeBSD 3.x
FreeBSD 4.x
HP-UX 9.x
HP-UX 10.x
HP-UX 11.x
IRIX 5.x
IRIX 6.x
Linux Debian 1.3.1
Linux Debian 2.x
Linux RedHat 4.x
Linux RedHat 5.x
Linux RedHat 6.x
Linux Slackware 3.5
Linux Slackware 4.0
Linux Slackware 7.0
Linux SuSE 5.x
Linux SuSE 6.x
Mac OS X server
NEXTSTEP 3.x
NetBSD 1.x
OPENSTEP 4.x
OSF1.V3 (Digital UNIX)
OSF1.V4 aka Digital UNIX V4
OSF1.V5 aka Digital UNIX V5
OpenBSD 2.x
Reliant UNIX 5.x
Rhapsody 5.x
SunOS 4.1.x
SunOS 5.4..5.7 (Solaris 2.4..7)
Ultrix 4.x
或者与此相类似的操作系统
二、取得软件包
当然是去它的老窝:http://www.postfix.org
下载完源码包后,用如下命令展开:
# tar xvfz *.gz
注:如果你 用打上补丁的话,请一并下载补丁包,对于每个补丁包的功能,包里都有详细的说明。请仔细看。
三、开始编译
1. 如果在编译的时候出现“make:don know how to ... ”的提示信息的话,是因为没有makefile文件的缘故,请直接转到弹开的包文件的顶层目录用如下命令生成Makefile文件:
$ make -f Makefile.init makefiles
2. 如果你编译后,要移到另外一台机器上的话,请用如下命令删除在系统留下的编译信息:
$ make tidy
3. 如果想用系统带的编译器编译的话并且想用系统的默认选项的话。就直接在源码顶层目录敲下:
$ make
4. 如果想自己设置Makrefile的一些参数比如编译器的话,用如下命令进行设置:
$ make makefiles CC=/opt/SUNWspro/bin/cc (Solaris)
$ make
$ make makefiles CC=""/opt/ansic/bin/cc -Ae"" (HP-UX)
$ make
$ make makefiles CC=""purify cc""
$ make
$ make makefiles CCARGS=-DDEF_CONFIG_DIR=\\\""/some/where\\\""
$ make
四、怎样在默认不支持的机器上安装。(这部分可以略过)
如果你的系统是类unix的,应该也是可以安装的,你必须做如下设置。
1. 为你的系统取个名称,不过必须有别于已经支持的系统的名称
2. 在弹开目录中的makedefs文件的shell脚本里的case语句中增加一个系统类别,语句大致如下:
FreeBSD.4*) SYSTYPE=FREEBSD4 //系统类型为freebsd的情形
3. 另外,在 util/sys_defs.h的文件里加一个 #ifdef SYSTEMTYPE的章节。
注:这部分要在你对系统比较了解的情况下,否则这章节轻易修改的。
五、安装
在编译通过后,就可以安装了,,如果你完全要替代sendmail(当前很多linux发行版本中默认安装都带有sendmail),你必须把sendmail的相关程序移走。如下命令:
# mv /usr/sbin/sendmail /usr/sbin/sendmail.OFF
# mv /usr/bin/newaliases /usr/bin/newaliases.OFF
# mv /usr/bin/mailq /usr/bin/mailq.OFF
# chmod 755 /usr/sbin/sendmail.OFF /usr/bin/newaliases.OFF /usr/bin/mailq.OFF
在正式安装前必须做如下前期工作:
1. 创建一个postix用户以及postfix组,改用户可以没有主目录和shell.
2. 在/ etc/aliases中建立一个别名:
postfix : root
3.检查是否有一个可写的maldrop,或者需要一个set-uid或者set-gid(修改程序执行权限)的外部程序(其实,这步,没什么的)。
Ok,现在在弹开的顶层目录下,以超级用户的身份执行 INSTALL.sh
# ./INSTALL.sh
到这里你 机器里就应该有postfix了,如果出了什么出错提示,好好琢磨一下INSTALL.sh文件,机关全在这里头。
六、配置服务使之能发信
如果光要发信看起来比较简单一些,直接修改/etc/postfix/master.cf文件:
去掉下面这一行前的注释:
smtp inet n - n - - smtpd
然后启动postfix:
# postfix start
如果你还比较怀念sendmail命令的话,可用下面命令:
# sendmail -bd Cqwhatever
$ sendmail Cbp
七、配置Postfix使之能收发。
除了配置上面的/etc/postfix/master.cf
还必须配置/etc/postfix/main.cf文件:
myhostname = virtual.host.name
inet_interfaces = $myhostname
mydestination = $myhostname
然后重启postfix服务器。
# postfix reload
八、其他设置
如果还需邮件服务器需要其他的服务,可在/etc/postfix/main.cf文件里相关的参数
下面简单介绍一下各选项的功能:
queue_directory = /var/spool/postfix 指定邮件队列目录
command_directory = /usr/sbin 指定服务器命令程序目录
daemon_directory = /usr/libexec/postfix 指定守护进程目录
mail_owner = postfix 指定邮件服务进程所有者
myhostname = mail.xxx.com.cn 指定主机结点名
mydomain = xxx.com.cn 指定本地域名
myorigin = tec.com.cn 指定本地发出的邮件域名
mydestination = $myhostname, localhost.$mydomain, $mydomain 目标域名列表
#local_recipient_maps = $alias_maps unix:passwd.byname 指定当地合法邮件用户
#alias_maps = hash:/etc/aliases 指定用户别名库
# mail_spool_directory = /var/spool/mail 指定临时共享池
inet_interfaces = all 指定过滤的邮件域名
#home_mailbox = Mailbox 指定用户邮件目录
#mailbox_command = /some/where/procmail 指定用户邮件目录的命令程序
#fallback_transport = 指定邮件返回的处理
# luser_relay = $user@other.host 指定本地用户的邮件中继
#header_checks = regexp:/etc/postfix/filename 邮件头检测
mynetworks = 192.168.1.0/24 本地ip网段
#relay_domains = $mydestination 邮件转发的上一级域名
local_destination_concurrency_limit = 2
default_destination_concurrency_limit = 10
debugger_command =
PATH=/usr/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5
relay_host = public.fz.fj.cn 上一级的邮件中继名。
message_size_time = 10240000
sender_canonical_maps = hash:/etc/postfix/sender_canonical
以上配置的只是使postfix能跑起来,还有一些有关安全、限制等相关属性设置,请直接到www.postfix.org站点上查资料,比较详细。