postfix-2.0.7

介绍postfix

下载地址 (HTTP):       
下载地址 (FTP):         ftp://ftp.porcupine.org/mirrors/postfix-release/official/postfix-2.0.7.tar.gz
版本:                   2.0.7
软件包大小:             1.3 MB
估计所需硬盘空间:       71.9 MB
估计编译时间:          0.92

postfix包中包含一个邮件传送代理(MTA)。可以用它发送邮件给本地主机上的其他用户。 它可以被配置成域的中央邮件服务器,以及本地Internet服务提供商(ISP)的邮件转发代理或者简单邮件传送代理。

postfix依赖于: 
db-4.1.25

安装postfix

在编译程序之前,需要建立相应的用户和用户组。当安装脚本执行时该用户和用户组必须存在。用下面的命令添加用户及用户组:

groupadd postfix &&
groupadd postdrop &&
groupadd -g 65534 nogroup &&
useradd -c postfix -d /dev/null -g postfix -s /bin/false postfix &&
useradd -c nobody -d /home -g nogroup -s /bin/bash -u 65534 nobody &&
chown postfix:postfix /var/mail

用下面的命令安装postfix:

make &&
make install

安装脚本将以'*_directory:[default]input'的形式交互式的提问。除了三个特例,默认选项都可以被接受。下面是这三个特例以及相应的修改:

daemon_directory:[/usr/libexec/postfix]/usr/sbin
manpage_directory:[/usr/local/man]/usr/share/man
sample_directory:[/etc/postfix]/usr/share/doc/postfix

最后一步,用下面的命令安装程序的文档:

cp -rf html/* /usr/share/doc/postfix

配置postfix

配置文件

/etc/aliases, /etc/postfix/main.cf/etc/postfix/master.cf

配置信息

cat > /etc/aliases << "EOF"
# Begin /etc/aliases

MAILER-DAEMON:    postmaster
postmaster:       root

root:             LOGIN
# End /etc/aliases
EOF

刚才创建了/etc/aliases文件。接下来必须为你的系统定制main.cf和master.cf 文件。aliases文件需要你的非root登录身份,以便将发给root的邮件转发给你。 main.cf文件需要你的完整的合法主机名。所有的这些修改都可以通过在控制台中使用sed命令来完成,即用你的非root登录 名替换[user]以及用你的完整的合法主机名替换[localhost.localdomain]。你会发现main.cf文件中带有 文档说明,你可以根据你的情况直接用编辑器来编辑此文件。

cp /etc/aliases /etc/aliases.bak
cp /etc/postfix/main.cf /etc/postfix/main.cf.bak
cp /etc/postfix/master.cf /etc/postfix/master.cf.bak
sed "s/LOGIN/[user]/" /etc/aliases.bak > /etc/aliases
sed "s/#myhostname = host.domain.tld/myhostname = \ 
	[localhost.localdomain]/" \
	/etc/postfix/main.cf.bak > /etc/postfix/main.cf
/usr/bin/newaliases
/usr/sbin/postfix start

postfix的init.d脚本

如果要自动运行postfix,可以用下面的命令创建init.d脚本:

cat > /etc/rc.d/init.d/postfix << "EOF"
#!/bin/sh
# Begin $rc_base/init.d/postfix

# Based on sysklogd script from LFS-3.1 and earlier.
# Rewritten by Gerard Beekmans  - [email protected]

source /etc/sysconfig/rc
source $rc_functions

case "$1" in

        start)
        echo "Starting Postfix..."
        loadproc postfix start
        ;;

        stop)
        echo "Stopping Postfix..."
        loadproc postfix stop
        ;;
		
        reload)
        echo "Reloading Postfix..."
        loadproc postfix reload
        ;;

        restart)
        $0 stop
        sleep 1
        $0 start
        ;;

        *)
        echo "Usage: $0 {start|stop|reload|restart}"
        exit 1
        ;;
esac

# End $rc_base/init.d/postfix
EOF
chmod 755 /etc/rc.d/init.d/postfix

用下面的命令在相应的rc.d目录中创建符号链接:
cd /etc/rc.d/init.d &&
ln -sf ../init.d/postfix ../rc0.d/K25postfix &&
ln -sf ../init.d/postfix ../rc1.d/K25postfix &&
ln -sf ../init.d/postfix ../rc2.d/K25postfix &&
ln -sf ../init.d/postfix ../rc3.d/S35postfix &&
ln -sf ../init.d/postfix ../rc4.d/S35postfix &&
ln -sf ../init.d/postfix ../rc5.d/S35postfix &&
ln -sf ../init.d/postfix ../rc6.d/K25postfix

内容

The postfix package contains bounce, cleanup, error, flush, lmtp, local, mailq, master, newaliases, nqmgr, pickup, pipe, postalias, postcat, postconf, postdrop, postfix, postkick, postlock, postlog, postmap, postqueue, postsuper, qmgr, qmqpd, sendmail, showq, smtp, smtpd, spawn, trivial-rewrite, 以及virtual.

具体说明

postfix

postfix是启动和停止邮件传送系统的程序。

master

master是运行bounce, cleanup, error, flush, lmtp, local, nqmgr, pickup, pipe, qmgr, qmqpd, showq, smtp, smtpd, spawn, trivial-rewrite以及virtual的驻留进程。这些程序不能通过用户命令来运行。

postqueue

postqueue实现了Postfix的队列管理用户接口。它实现了所有以前通过sendmail 命令可以完成的操作。

sendmail

sendmail实现了Postfix和Sendmail的兼容接口。mailq和newaliases 是指向sendmail的符号链接。

showq

当Postfix邮件系统没有运行时showq将模拟mailq命令。

postsuper

postsuper完成Postfix队列的维护工作。

postalias

postalias创建,查询和更新Postfix别名数据库。

postcat

postcat用可读的格式打印Postfix队列文件的内容。

postconf

postconf打印或者更改配置参数的值。

postdrop

postdrop在maildrop目录中创建一个文件并将标准输入复制到该文件中。

postkick

postkick使得shell脚本可以访问邮件系统私有IPC。

postlock

postlock锁定文件以便对其进行独占访问和执行命令。

postlog

postlog为shell脚本实现了日志接口。

postmap

postmap创建,查询或者更新Postfix的查找表。