搭建 postfix 邮件服务器(一) <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

实验环境:

      RHEL5 系统中,搭建 Postfix 邮件系统,实现单域环境下收发邮件 Postfix 可以直接使用本地系统用户作为邮件用户,也可以使用虚拟邮件用户。虚拟邮件用户对应的账号信息通常存储于数据库中,最常见的是 MYSQL 数据库。

实验准备:

      安装 RHEL5 (或者更高版本,也可以安装 CENTOS5 , 可以采用图形化和文本模式两种安装模式,一般为了提高服务器的整体性能,一般采用文本模式安装。在这里我使用文本模式安装 RHEL5 ,并且在安装过程没有选择任何软件包。在大多数情况下, RHEL    5 系统默认安装了 sendmail 程序,用于提供基本的发信服务。因此,在安装 Postfix 前将 sendmail 服务停止,以免与 Postfix 服务发生冲突。

实验思路:

1.     做主机名

2.     DNS

3.     安装并配置 postfix 服务器

4.     安装并配置 dovecot 服务器

5.     配置发信认证及 webmail 系统

6.     建立邮箱用户,进行收发邮件

实验步骤:

1. 做主机名 ( 主机名为 mail.lwb.com)

      主机名中必须包含邮件域的域名。如果是已经装好的系统,可以将主机名更改为包含相应邮件域的主机名;如果是新安装的系统,在安装时就可以直接设置主机名。不管是哪种情况,做好后,都要进行相应的检查,保证配置正确。

Ø       检查 /etc/hosts 文件,查看是否有主机名称解析记录

Ø       检查 /etc/sysconfig/network 文件,查看主机名是否正确

2. 配置 DNS

2.1 更改主配置文件(需要修改全局配置,并且在区域配置中添加相应邮件域及反向域)

2.2 创建区域数据库配置文件

Ø       在正向域中,需要添加 A 记录和 MX 邮件记录

mail      IN      A      172.16.100.147

lwb.com.  IN      MX    10      mail

Ø       在反向域中,添加 PTR 记录

<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /> 147       IN       PTR    lwb.com.

2.3. 添加权限(这里添加权限方式跟普通添加读写权限方式不一样,不过这样做之后权限很合适,要详细了解,请查看《搭建 DNS 服务器》)

bind-chroot-admin –s

2.4 重启服务,并设置开机自动启动

   service named restart

   chkconfig named on

3. 安装并配置 postfix 服务器

      在配置之前,需要做 yum ,可以自动解决安装软件包时的相容性和依赖关系。

mkdir  /media/rhel5

mount /dev/cdrom /media/rhel5

cd /media/rhel5/Server

rpm -ivh createrepo-0.4.4-2.fc6.noarch.rpm

cd /media/

createrepo .

cd /etc/yum.repos.d/

vi rhel-debuginfo.repo

修改为以下内容

[rhel5]

baseurl=file:///media

enabled=1

gpgcheck=0

3.1 安装 Postfix

   rpm -ivh postfix-2.3.3-2.i386.rpm

3.2 编辑 main.cf 配置文件(该配置文件的修改分先后顺序 )

   vi /etc/postfix/main.cf

inet_interfaces = all    修改   // 设置监听 25 端口在哪些 IP 地址可以使用

myhostname = mail.lwb.com  添加    // 设置 Postfix 服务器使用的主机名

mydomain = lwb.com    添加        / / 设置 Postfix 服务器使用的邮件域

myorigin = $mydomain    修改       // 设置发件人邮件地址中的邮件域名

mydestination = $mydomain,$myhostname

修改                          // 设置可接收的邮件地址中的域名

home_mailbox = Maildir/  修改      // 设置邮件存储位置和格式

3.3 重启 postfix 服务,并验证其监听的 TCP 端口( 25

   service postfix restart

   chkconfig postfix on

   netstat -antp |grep :25

查看其 25 端口是否是如下信息(看是否有 4 0

tcp        0      0 0.0.0.0:25                  0.0.0.0:*                   LISTEN      4626/master

4 .安装并配置 dovecot 服务器

4.1 安装 dovecot (需要使用 YUM 方式安装)

   yum install dovecot* -y

4.2 修改 dovecot.conf 配置文件

   vi  /etc/dovecot.conf

ssl_disable = yes                      // 禁用 SSL 机制

protocols = pop3 imap                 // 指定支持的邮局协议

disable_plaintext_auth = no            // 允许明文密码认证

mail_location = maildir:~/Maildir       // 设置邮件存储格式及位置

4.3 重启 dovecot ,并验证其监听的 TCP 端口( 110 143

   service dovecot restart

   chkconfig dovecot on

   netstat -anpt |grep dovecot

查看其端口信息

tcp        0      0 :::110                      :::*                        LISTEN      4687/dovecot

tcp        0      0 :::143                      :::*                        LISTEN      4687/dovecot

5. 配置 webmail 系统和 SMTP 用户认证

5.1 配置 webmail 系统

    1. 安装 squirrlmail (使用 yum 方式,会自动安装 httpd php

     yum install squirrelmail* -y

   2. 修改 config.php 配置文件 ( 如果没有该文件,拷贝模板文件 config_default.php ,在进行修改 )

     ln -s /usr/share/squirrelmail/ /var/www/html/mail

cd /var/www/html/mail/config

vi config.php

$squirrelmail_default_language = 'zh_CN';

$default_charset          = 'zh_CN.UTF-8';

$domain                 = 'lwb.com';

$smtpServerAddress      = 'localhost';

$smtpPort               = 25;

$imap_server_type       = 'dovecot';

$imapPort               = 143;

3 重启 httpd 服务

       service httpd restart

       chkconfig httpd on

5.2 设置 SMTP 用户认证

     1. 安装于“ cyrus ”相关的软件包(默认系统已经安装)

     2. 修改 main.cf 配置文件,添加如下配置项

smtpd_sas1_auth_enable = yes

smtpd_sas1_security_options = noannonymous

mynetworks = 127.0.0.1

smtpd_recipient_restrictions=permit_mynetworks,permit_sas1_authenticated,reject_unauth_destination

3. 启动 saslauthd 服务

  service saslauthd restart

  chkconfig saslauthd on

4. 重启 postfix 服务

        Service postfix restart

6. 建立邮箱用户(这里邮箱用户就是系统用户,为保证安全性,不允许登陆系统那个),然后直接在客户端浏览器中输入 http://mail.lwb.com/webmail/, web 登陆页面中输入邮件用户账号和密码,即可进行收发邮件。

总结:

设置邮件群发功能

  修改 /etc/aliases 文件,在该文件中,每一行对应为一条别名(这里可以把别名理解为组,把用户加入别名中,给别名发邮件,别名中的所有用户就会收到邮件)设置记录。设置后执行“ newaliases ”命令,以便重新生成“ /etc/aliases.db ”数据库文件。

例: vi /etc/aliases

zu:user1,user2,user3,user4

    newaliases

限制用户可发送的邮件大小

/etc/postfix/main.cf 配置文件中,添加如下配置项,该配置项对系统用户和虚拟邮件用户同时起作用,根据实际情况设置邮件大小限制。“ 20971520 ”表示 20M

 vi /etc/postfix/main.cf

message_size_limit = 20971520

限制用户的邮箱空间大小

Postfix 邮件系统中,根据邮件用户的类型、邮件存储的方式不同,可以分别采取不同的方式来限制用户的邮箱空间大小。下面是三种方式来限制用户的邮箱大小,使用时应根据 Postfix 服务器的具体情况进行选择。

u     Mailbox_size_limit 配置参数:主要针对使用 Mailbox 邮件存储方式的情况,默认的限制值为 50MB 。该配置参数对系统用户起作用。

u     Virtual_mailbox_limit 配置参数:主要针对使用虚拟邮件用户的情况,默认的值也是 50MB 。安装了 VDA 补丁以后,该配置参数对使用 Mailbox Maidir 存储方式的用户都起作用。

u     Quota 磁盘配额功能:主要针对 Linux 系统用户作为邮件用户,可以直接使用 Linux 中的 quota 磁盘配额功能。这种方式对使用 Mailbox Maildir 存储方式的用户都起作用。