这两天尝试搭建了本地邮箱服务器,采用postfix+dovecot模式,网上有好多教程,但都是缺胳膊少腿,没一个完整的,下边就本人此次搭建过程做一个详细记录。

首先准备一个干净环境的虚拟机CentOS6.7(6.x都行,只要是6的就行),然后开始搭建

以下命令都是以root身份执行,如果未安装yum,或者使用yum安装失败,可下载完整安装包进行安装,包含所有需要的资源:在CentOS6.7上搭建邮箱服务器(postfix+dovecot)所需资源

1.先卸载sendmail和postfix

yum remove sendmail
    yum remove postfix

2.安装所有软件,然后修改配置文件,包括postfix,dovecot,crontabs,cyrus-sasl*

yum install postfix
    yum install dovecot
    yum install crontabs  (这个是如果初始安装了postfix的话,卸载时会顺带把它卸载掉,所以要重新安装)
    yum install cyrus-sasl*

3.修改配置文件

    修改main.cf文件:vim /etc/postfix/main.cf

    75行   修改为:myhostname = mail.test.com

    83行   修改为:mydomain = test.com

    99行   修改为:myorigin = $mydomain

    116行 修改为:inet_interfaces = all

    119行 修改为:inet_protocols = ipv4   (或者inet_protocols = all)

    164行 修改为:mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

    264行 修改为:mynetworks = 0.0.0.0

    419行 修改为:home_mailbox = Maildir/

    569行 加参数:smtpd_banner = $myhostname ESMTP

    文件末尾插入:

# limit an email size for 10M
    message_size_limit = 10485760
    # limit a mailbox for 1G
    mailbox_size_limit = 1073741824
    # for SMTP-Auth
    smtpd_sasl_type = dovecot
    smtpd_sasl_path = private/auth
    smtpd_sasl_auth_enable = yes
    smtpd_sasl_security_options = noanonymous
    smtpd_sasl_local_domain = $myhostname
    smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject

    修改dovecot.conf文件:vim /etc/dovecot/dovecot.conf

    20行   修改为:protocols = imap pop3 lmtp

    26行   修改为:listen = *


    修改10-auth.conf文件:vim /etc/dovecot/conf.d/10-auth.conf

    9行    修改为:disable_plaintext_auth = no

    97行  修改为:auth_mechanisms = plain login


    修改10-mail.conf文件:vim /etc/dovecot/conf.d/10-mail.conf

    30行   修改为:mail_location = maildir:~/Maildir


    修改10-master.conf文件:vim /etc/dovecot/conf.d/10-master.conf

    88行-90行  修改为:

unix_listener /var/spool/postfix/private/auth {
        mode = 0666
        user = postfix    
        group = postfix    }

    修改10-ssl.conf文件:vim /etc/dovecot/conf.d/10-ssl.conf

    6行   修改为:ssl = no


    修改/etc/hosts文件:vim /etc/hosts

    在文件末尾插入:

    192.168.1.235 mail.test.com mail    (注意:IP是你自己虚拟机的IP,我这里是192.168.1.235)


    修改hostname:

    执行命令:hostname mail.test.com

4.重启服务:   

service postfix restart
    service dovecot restart
    service saslauthd restart

5.添加用户(也是邮箱用户)

    useradd user1
    passwd user1  --> 输入密码
    useradd user2

    passwd user2  --> 输入密码

6.创建邮件存储目录:

su user1 -c "mkdir /home/user1/Maildir"
    su user2 -c "mkdir /home/user2/Maildir"

7.设置网卡的DNS:vim /etc/sysconfig/network-scripts/ifcfg-eth0

  

centos 邮件客户端 centos 邮箱服务器_postfix

  重启网卡:service network restart

8.关闭防火墙:service iptables stop

配置完成,开始收发邮件!

下面就本次配置过程中遇到的问题做一总结:

    1.首先是DNS的配置(就是上边网卡设置中的DNS1),好多教程里边都没有提到DNS的配置,默认基本都是和网关一样的,但是这里的域名解析写在了本机的/etc/hosts文件中,所以必须改成本机IP才可以解析正确,注意DNS1的IP一定要和/etc/hosts文件匹配起来,否则解析不了

    2.邮件存储目录的创建(就是上边创建的“/home/user1/Maildir”和“/home/user2/Maildir”目录),好多教程直接把这一步省略了,所以刚开始发送的邮件没地方存储,被退回了,所以这个目录一定先创建好,其次还要保证每个用户对存储目录具有读写权限,刚开始我是用root用户创建的这个目录,所以没权限读写,直接发送失败了,然后执行chown -R user1:user1 /home/user1/Maildir; chown -R user2:user2 /home/user2/Maildir,更改权限后就成功了!

    3.如果邮箱客户端要使用Windows下的Foxmail,则需要修改Windows系统的hosts文件,文件目录:

        “C:\Windows\System32\drivers\etc”

        找到hosts文件,在文件末尾加入:

        192.168.1.235 mail.test.com

        然后在Foxmail客户端新建邮箱账号user1@test.com和user2@test.com(就是刚才新建的user1和user2)

        

centos 邮件客户端 centos 邮箱服务器_postfix_02

    新建完成之后,两个账号之间就可以正常收发邮件了


CentOS 6.4下Sendmail邮件服务器搭建详设

这篇文件刚开始讲了如何配置DNS解析域名,但是现在没配置已经可以正常收发邮件了,不知道有什么联系,等搞明白了再来补充