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。