搭建Postfix邮件服务器
(文章copy,不过一些点没注意到,补充了一些,其他自己搭建就知道失误在哪,错误百度,最后步骤是操作,打字是看不懂的可以自己查,需要请看下个文章,其中mail的用户可以多个自行添加,文章为加3)
1 将sendmail服务停止
[root@mail
~]# service sendmail stop
//停止sendmail服务
Shutting
down sm-client:
[
OK
]
Shutting
down sendmail:
[
OK
]
2 安装配置dns
(略)
MX记录
3 安装postfix
[root@localhost ~]#
cd /media/RHEL_5.5\ i386\
DVD/Server/
[root@localhost Server]# rpm -ivh
postfix-2.3.3-2.1.el5_2.i386.rpm
4 配置postfix
[root@mail
~]# vim
/etc/postfix/main.cf
myhostname
= mail.159.cn
mydomain =
159.cn
myorigin =
$mydomain
inet_interfaces = all
mydestination = $myhostname, $mydomain
mynetworks
= 172.16.42.0, 127.0.0.0/8
relay_domains = 159.cn
wq—退出
5 在postfix配置虚拟别名
#virtual
virtual_alias_domains = sina.com
virtual_alias_maps =
hash:/etc/postfix/virtual//在main.cf文件中写入这两行
[root@mail
~]# vim /etc/postfix/virtual
//配置virtual
[root@mail
~]# postfix
reload
postfix/postfix-script: refreshing the Postfix mail
system
[root@mail
~]# vim
/etc/postfix/main.cf
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases//检查postfix配置文件中有这两条
[root@mail ~]#
vim /etc/aliases//配置用户别名
mail:
mail,mail1,mail2,mail3
[root@mail
~]# postalias /etc/aliases
[root@mail ~]#
postfix reload
postfix/postfix-script: refreshing the Postfix mail
system//注意这里错误一般是postalia服务器没开,还有防火墙限制,用了我挺多时间找
6 配置smtp
[root@mail
~]# rpm -qa | grep sasl
cyrus-sasl-plain-2.1.22-5.el5_4.3
cyrus-sasl-lib-2.1.22-5.el5_4.3
cyrus-sasl-2.1.22-5.el5_4.3
[root@mail
~]# saslauthd -v
saslauthd
2.1.22
authentication
mechanisms: getpwent kerberos5 pam rimap shadow ldap
[root@mail
~]# vi /etc/sysconfig/saslauthd
MECH=shadow
//将认证方式改为shadow
[root@mail
~]# /etc/init.d/saslauthd start
Starting
saslauthd:
[
OK
]
[root@mail
~]# chkconfig --level 35 saslauthd on
[root@mail
~]# useradd mail1 //创建一个mail1用户,用来测试
[root@mail
~]# passwd
mail1
Changing
password for user mail1.
New UNIX
password:
BAD PASSWORD:
it is too simplistic/systematic
Retype new UNIX
password:
passwd: all
authentication tokens updated successfully.
[root@mail
~]# testsaslauthd -u mail1 -p '123456'
0: OK
"Success."
//验证成功
在main.cf
中加入如下配置。
[root@localhost
~]# vi /etc/postfix/main.cf
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = ''
smtpd_recipient_restrictions =
permit_mynetworks,permit_sasl_authenticated,
reject_unauth_destination
broken_sasl_auth_clients = yes
smtpd_client_restrictions =
permit_sasl_authenticated
smtpd_sasl_security_options =
noanonymous
[root@mail
~]# postfix reload//重新加载postfix
postfix/postfix-script: refreshing the Postfix mail
system
[root@mail
~]# telnet 172.16.42.165
25
//测试
Trying
192.168.1.104...
Connected to
mail.159.cn (192.168.1.104).
Escape
character is '^]'.
220 mail.159.cn
ESMTP Postfix
ehlo
159.cn
250-mail.159.cn
250-PIPELINING
250-SIZE
10240000
250-VRFY
250-ETRN
250-AUTH PLAIN
LOGIN
250-AUTH=PLAIN
LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250
DSN
quit
221 2.0.0
Bye
Connection
closed by foreign host.
//测试成功
7 安装和配置dovecot
[root@mail
Server]# rpm -ivh perl-DBI-1.52-2.el5.i386.rpm
warning:
perl-DBI-1.52-2.el5.i386.rpm: Header V3 DSA signature: NOKEY, key
ID 37017186
error: failed
to stat /media/RHEL_5.5 i386 DVD: 没有那个文件或目录
Preparing...
########################################### [100%]
1:perl-DBI
########################################### [100%]
[root@mail
Server]# rpm -ivh mysql-5.0.77-4.el5_4.2.i386.rpm
warning:
mysql-5.0.77-4.el5_4.2.i386.rpm: Header V3 DSA signature: NOKEY,
key ID 37017186
error: failed
to stat /media/RHEL_5.5 i386 DVD: 没有那个文件或目录
Preparing...
########################################### [100%]
1:mysql
########################################### [100%]
[root@mail
Server]# rpm -ivh dovecot-1.0.7-7.el5.i386.rpm
warning:
dovecot-1.0.7-7.el5.i386.rpm: Header V3 DSA signature: NOKEY, key
ID 37017186
error: Failed
dependencies:
libpq.so.4 is
needed by dovecot-1.0.7-7.el5.i386
[root@mail
Server]#
[root@mail
Server]# rpm -ivh
postgresql-libs-8.1.18-2.el5_4.1.i386.rpm
warning:
postgresql-libs-8.1.18-2.el5_4.1.i386.rpm: Header V3 DSA signature:
NOKEY, key ID 37017186
error: failed
to stat /media/RHEL_5.5 i386 DVD: 没有那个文件或目录
Preparing...
########################################### [100%]
1:postgresql-libs
########################################### [100%]
[root@mail
Server]# rpm -ivh dovecot-1.0.7-7.el5.i386.rpm
warning:
dovecot-1.0.7-7.el5.i386.rpm: Header V3 DSA signature: NOKEY, key
ID 37017186
error: failed
to stat /media/RHEL_5.5 i386 DVD: 没有那个文件或目录
Preparing...
########################################### [100%]
1:dovecot
########################################### [100%]
[root@mail ~]#vim /etc/dovecot.conf
protocols = pop3 pop3s
protocol pop3 {
listen = *:10100
#
..
}
[root@mail ~]#
service dovecot start
启动 Dovecot
Imap:[确定]
[root@mail ~]#
chkconfig dovecot on
8cyrus-imapd服务安装于配置
Db4
cyrus-imapd
cyrus-imapd-perl
cyrus-imapd-utils
db4-utils
lm_sensors
[root@mail
Server]# rpm -ivh
cyrus-imapd-perl-2.3.7-7.el5_4.3.i386.rpm
warning:
cyrus-imapd-perl-2.3.7-7.el5_4.3.i386.rpm: Header V3 DSA signature:
NOKEY, key ID 37017186
error: failed
to stat /media/RHEL_5.5 i386 DVD: 没有那个文件或目录
Preparing...
########################################### [100%]
1:cyrus-imapd-perl
########################################### [100%]
[root@mail
Server]#
[root@mail
Server]# rpm -ivh
cyrus-imapd-utils-2.3.7-7.el5_4.3.i386.rpm
[root@mail
Server]# rpm -ivh db4-utils-4.3.29-10.el5.i386.rpm
[root@mail
Server]# rpm -ivh lm_sensors-2.10.7-9.el5.i386.rpm
[root@mail
Server]# rpm -ivh cyrus-imapd-2.3.7-7.el5_4.3.i386.rpm
[root@mail
Server]# rpm -ivh
cyrus-imapd-devel-2.3.7-7.el5_4.3.i386.rpm
[root@mail
~]# vim /etc/postfix/main.cf //修改以下文件
mailbox_transport =
lmtp:unix:/var/lib/imap/socket/lmtp
[root@mail
~]# service cyrus-imapd restart
正在关闭cyrus-imapd:[确定]
导出cyrus-imapd数据库:[确定]
导入cyrus-imapd数据库:[确定]
启动cyrus-imapd:[确定]
[root@mail ~]#
chkconfigcyrus-imapd on
[root@mail ~]#
chkconfig --list cyrus-imapd
cyrus-imapd
0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭
10 添加用户,并设置用户邮箱
[root@mail ~]#
passwd
cyrus
Changing
password for user cyrus.
New UNIX
password:
BAD PASSWORD:
it is too simplistic/systematic
Retype new UNIX
password:
passwd: all
authentication tokens updated successfully.
[root@mail
~]# cat /etc/shadow
mail1:$1$QnL01QC.$LNczdCW9f3buqoxcRiRpk.:14772:0:99999:7:::
//shadow
dovecot:!!:14772::::::
cyrus:$1$/8WvEEC8$6KVzTAY7ByqSyMRzMQkmS/:14772::::::
mail2:$1$HX.I.cOD$F.N2yM8VbbRyCVdynWf2K.:14772:0:99999:7:::
mail3:$1$gaE/q13U$lWKOj7d.aKeSW4ZuyvXKM0:14772:0:99999:7:::
mail4:$1$d.mlgRGf$hvaDYlOLY331C6MqBXpyD1:14772:0:99999:7:::
[root@mail
~]# /usr/bin/cyradm -u cyrus localhost
//创建用户邮箱,这里用3用户,如果是自己搭建测试,可以先配mail1
IMAP
Password:
localhost.localdomain>createmailbox
user.mail1
localhost.localdomain>createmailbox
user.mail1.Send
localhost.localdomain>createmailbox
user.mail1.Trash
localhost.localdomain>createmailbox
user.mail1.Drafts
localhost.localdomain>setquota user.mail 3000
quota:3000
//设置用户邮箱配额
setquota:
Mailbox does not exist
localhost.localdomain>createmailbox
user.mail2
localhost.localdomain>createmailbox
user.mail2.Send
localhost.localdomain>createmailbox
user.mail2.Trash
localhost.localdomain>createmailbox
user.mail2.Drafts
localhost.localdomain>createmailbox
user.mail3
localhost.localdomain>createmailbox
user.mail3.Send
localhost.localdomain>createmailbox
user.mail3.Trash
localhost.localdomain>createmailbox
user.mail3.Drafts
11
squirrelmail安装于配置
[root@localhost Server]# rpm -ivh
squirrelmail-1.4.8-5.el5_4.10.noarch.rpm //安装squirrelmail
[root@mail ~]#
/usr/share/squirrelmail/config/conf.pl
========================================================
中间的操作需要图,明天发
======================================
[root@mail ~]# vim
/etc/httpd/conf/httpd.conf
//修改apache配置(可以不配置)
ServerNamemail.159.cn:80
[root@mail ~]#
service httpd restart
//重启apache服务
停止httpd:[确定]
启动httpd:[确定]
12 测试
本机测试,mail1给自己发信,mail2,mail3都同时收到了