postfix邮件服务器
下载地址:
ftp://ftp.cuhk.edu.hk/pub/packages/mail-server/postfix/official/postfix-2.6.5.tar.gz
http://vda.sourceforge.net/VDA/postfix-2.6.5-vda-ng.patch.gz
# cp /usr/local/mysql/lib/mysql/libmysqlclient.so.15 /usr/lib (这一步不做编译时报错)
# groupadd -g 1200 postdrop
# groupadd -g 1000 postfix
# useradd -M -u 1000 -g postfix -G postdrop -s /sbin/nologin postfix
# tar zxf postfix-2.6.5.tar.gz
# gunzip postfix-2.6.5-vda-ng.patch.gz
# cd postfix-2.6.5
# patch -p1 < /root/postfix-2.6.5-vda-ng.patch
# make makefiles \
> 'CCARGS=-DHAS_MYSQL -I/usr/local/mysql/include/mysql -DUSE_SASL_AUTH \
> -DUSE_CYRUS_SASL -I/usr/include/sasl' \
>'AUXLIBS=-L/usr/local/mysql/lib/mysql -lmysqlclient -lz -lm -L/usr/lib/sasl2 -lsasl2'
# make
# make install (设置安装参数时全为默认,直接回车)
# cd /etc/postfix
# cp main.cf main.cf.bak
# grep -v "#" main.cf.bak > main.cf
# service sendmail stop (关闭本机的邮件rpm包)
# chkconfig --level 35 sendmail off
# postfix start
# vi /etc/postfix/main.cf
inet_interfaces = 192.168.1.2, 127.0.0.1
myhostname = mail.benet.com
mydomain = benet.com
myorigin = $mydomain
mydestination = $mydomain,$myhostname
home_mailbox = Maildir/
# useradd -s /sbin/nologin xiaoqi
# useradd -s /sbin/nologin lisi
# passwd xiaoqi
密码
# passwd lisi
密码
# telnet 192.168.1.2 25
helo localhost
mail from: [email protected]
rcpt to: [email protected]
data
subject: A Test Mail (标题)
HELLO!
This is a test mail! (内容)
. (以"."号结束)
quit (退出)
# cat /home/lisi/Maildir/new/ + Tab 键 (邮件存放目录)
root的邮件目录为:/var/spool/mail/root
邮件log路径:/var/log/mail.log 和/var/log/mail.err
postfix调relay服务器(即公司邮件服务器ip):
# vi /etc/postfix/main.cf
relayhost = 10.0.1.5 (默认为空)
:wq
注:
预配置编译参数
在编译前需要使用“make makefiles”命令调整编译参数,以便Postfix支持SASL认证和查询MYSQL数据库。具
体的编译参数可以参考Postfix源码目录中README_FILES子目录下的说明文件,如SASL_README和MYSQL_README
文件。
本例采用源码编译安装的AMP平台,并使用REHL5系统自带的cyrus-sasl认证软件,因此根据mysql、cyrus-sasl
的库文件和头文件安装位置对编译参数CCARGS和AUXLIBS进行适当调整。
配置命令如下:
make makefiles \
CCARGS=DHAS_MYSQL -I/usr/local/mysql/include/mysql \
-DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl \
AUXLIBS=-L/usr/local/mysql/lib/mysql -lmysqlclient -lz -lm -L/usr/lib/sasl2 -lsasl2
其中,编译参数作用分析:
u CCARGS参数:为编译器提供额外的参数。“-I”选项指出标准的额外头文件的存放目录。如,mysql和
cyrus-sasl的头文件分别位于目录/usr/local/mysql/lib/mysql、/usr/include/sasl。
u AUXLIBS参数:指出位于标准位置之外的额外函数库。如果需要链接SASL、MySQL或任何附加的数据库,
而且它们不是存放在标准位置(/usr/lib目录),则必须在AUXLIBS参数中指出这些函数库的路径。如,cyrus
-sasl和mysql的库文件分别位于目录:/usr/lib/sasl2、/usr/local/mysql/lib/mysql。