邮件服务器安装--Postfix + Dovecot + Squirrelmail--CentOS 6.4

时间:2024-04-09 09:36:33

英文原文链接 : http://www.unixmen.com/install-postfix-mail-server-with-dovecot-and-squirrelmail-on-centos-6-4/

Postfix 是一款免费开源的 MTA. 兼顾易于管理, 响应快速, 安全有效的优点. 它也是 RHEL(CentOS) 默认的 MTA.

前期准备

1. 卸载原始 MTA sendmail:

[root@server ~]# yum remove sendmail

2. 配置 DNS 服务器并添加邮件服务器 MX 记录. 并让 ISP 支持你的静态 IP 与域名. (局域网搭建跳过此步骤)

3.1 在 /etc/hosts 加入完整的 hostname:

[root@server ~]# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
:: localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.200 server.cnblogs.com server

3.2 在 /etc/sysconfig/network 更改 hostname:

[root@server ~]# vi /etc/sysconfig/network
HOSTNAME=server.cnblogs.com

3.3 重启 Linux 使 hostname 生效.

[root@server ~]# reboot

4. 关闭 SELinux 来降低配置 postfix 的难度. ( 不关闭网页登不上 )

[root@server ~]# setenforce 

5. 安装 EPEL Repository: (根据自己的机器选择)

[root@server ~]# rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
[root@server ~]# rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

6. 给 Apache(后续进行安装) 开放 80 端口:

[root@server ~]# vi /etc/sysconfig/iptables
-A INPUT -p udp -m state --state NEW --dport -j ACCEPT
-A INPUT -p tcp -m state --state NEW --dport -j ACCEPT

安装 Postfix

[root@server ~]# yum install postfix -y

配置 Postfix

打开 /etc/postfix/main.cf 更改如下配置:

## Line no 75 - Uncomment and set your mail server FQDN ##
myhostname = server.cnblogs.com ## Line 83 - Uncomment and Set domain name ##
mydomain = cnblogs.com ## Line 99 - Uncomment ##
myorigin = $mydomain ## Line 116 - Set ipv4 ##
inet_interfaces = all ## Line 119 - Change to all ##
inet_protocols = all ## Line 164 - Comment ## #mydestination = $myhostname, localhost.$mydomain, localhost, ## Line 165 - Uncomment ##
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain ## Line 264 - Uncomment and add IP range ##
mynetworks = 192.168.1.0/24, 127.0.0.0/8 ## Line 419 - Uncomment ##
home_mailbox = Maildir/

保存并退出, 重启 Postfix 服务:

[root@server ~]# /etc/init.d/postfix start
[root@server ~]# /etc/init.d/postfix status
master (pid ) is running...
[root@server ~]# chkconfig postfix on

测试 Postfix

通过 telnet 进行测试, 没有 telnet 可通过 yum 安装, 一下出现红色字体表示输入.

新建测试用户 zl:

[root@server ~]# useradd zl
[root@server ~]# passwd zl
[root@server ~]# telnet localhost smtp
Trying ::...
Connected to localhost.
Escape character is '^]'.
server.cnblogs.com ESMTP Postfix
ehlo localhost
-server.cnblogs.com
-PIPELINING
-SIZE
-VRFY
-ETRN
-ENHANCEDSTATUSCODES
-8BITMIME
DSN
mail from:<zl>
2.1. Ok
rcpt to:<zl>
2.1. Ok
data
End data with <CR><LF>.<CR><LF>
welcome to cnblogs mail system
.
2.0. Ok: queued as 3E68E284C
quit
2.0. Bye
Connection closed by foreign host.

进入 zl mail 目录检查邮件:

[root@server ~]# ls /home/zl/Maildir/new/
.Vfd00I41ec0M251771.server.cnblogs.com
[root@server ~]# cat /home/zl/Maildir/new/.Vfd00I41ec0M251771.server.cnblogs.com
Return-Path: <zl@cnblogs.com>
X-Original-To: zl
Delivered-To: zl@cnblogs.com
Received: from localhost (localhost [IPv6:::])
by server.cnblogs.com (Postfix) with ESMTP id 3E68E284C
for <zl>; Wed, May :: + (IST)
Message-Id: <.3E68E284C@server.cnblogs.com>
Date: Wed, May :: + (IST)
From: zl@cnblogs.com
To: undisclosed-recipients:; welcome to cnblogs mail system

安装 Dovecot

Dovecote 是一款开源 IMAP/POP3 邮件服务器 for Unix/Linux systems.

[root@server ~]# yum install dovecot

配置 Dovecot

打开 /etc/dovecot/dovecot.conf 更改如下配置:

## Line 20 - umcomment ##
protocols = imap pop3 lmtp

打开 /etc/dovecot/conf.d/10-mail.conf:

## Line 24 - uncomment ##
mail_location = maildir:~/Maildir

打开 /etc/dovecot/conf.d/10-auth.conf:

## line 9 - uncomment##
disable_plaintext_auth = yes ## Line 99- Add a letter "login" ##
auth_mechanisms = plain login

打开 /etc/dovecot/conf.d/10-master.conf:

## Line 83, 84 - Uncomment and add "postfix"
#mode = 0600
user = postfix
group = postfix

开启 Dovecot 服务:

[root@server ~]# service dovecot start
Starting Dovecot Imap: [ OK ]
[root@server ~]# chkconfig dovecot on

测试 Dovecot

[root@server ~]# telnet localhost pop3
Trying ::...
Connected to localhost.
Escape character is '^]'.
+OK Dovecot ready.
user zl
+OK
pass 111111 ## Here 111111 is password of user "zl" ##
+OK Logged in.
list
+OK messages: .
retr 1
+OK octets
Return-Path: <zl@cnblogs.com>
X-Original-To: zl
Delivered-To: zl@cnblogs.com
Received: from localhost (localhost [IPv6:::])
by server.cnblogs.com (Postfix) with ESMTP id 3E68E284C
for <zl>; Wed, May :: + (IST)
Message-Id: <.3E68E284C@server.cnblogs.com>
Date: Wed, May :: + (IST)
From: zl@cnblogs.com
To: undisclosed-recipients:; welcome to cnblogs mail system
.
quit
+OK Logging out.
Connection closed by foreign host.

Dovecot 测试成功.

安装 Squirrelmail WebMail

安装 Squirrelmail:

[root@server ~]# yum install squirrelmail

配置 Squirrelmail

切换到 /usr/share/squirrelmail/config/ 并运行 conf.pl:

[root@server ~]# cd /usr/share/squirrelmail/config/
[root@server config]# ./conf.pl

( 可选 ) 进入 1.  Organization Preferences 设置定制的网页图标等等.

( 必须 ) 进入 2.  Server Settings -> 1.  Domain 设置自己的 domain.

( 必须 ) 进入 2.  Server Settings -> 3.  Sendmail or SMTP 设置成 SMTP.

回到主界面按 S & Q 保存并退出.

Apache 关联 Squirrelmail

在 apache 配置文件中新建一个 squirrelmail vhost:

[root@server config]# vi /etc/httpd/conf/httpd.conf
## Add the lines at the end of this file ##
Alias /squirrelmail /usr/share/squirrelmail
<Directory /usr/share/squirrelmail>
Options Indexes FollowSymLinks
RewriteEngine On
AllowOverride All
DirectoryIndex index.php
Order allow,deny
Allow from all
</Directory>

重启 Apache 服务:

[root@server config]# service httpd restart

到此环境搭建完成!

PS: Webmail 登录时只要输用户名即可, 不用输 @cnblogs.com . 使用的用户必须经过密码初始化, 即 passwd user.

http://ip-address/webmail or http://domain-name/webmail 访问 Webmail