CentOS 64位下安装Postfix+Dovecot 配置邮件服务器笔记

          Postfix 和Dovecot功能确实很强大,支持各种认证方式, 配置非常灵活, 就因为太过于灵活, 反而安装配置的过程中,容易有各种各样的陷阱,碰到问题了, 日志是最好的解决办法了。    我们假设你申请的域名是    example.com  。

          在域名服务提供商那里设置域名解析, 我的  example.com 设置了3个域名解析:

          第一个是 :A记录,  RR值为 @ ,    指向 服务器的IP地址

          第二个是:MX记录, RR值为@, 指向 example.com

          第三个是:A记录,RR值为 www, 指向服务器的IP地址

     

          配置完毕后,   ping     www.example.com   如果能提示出你的服务器的IP地址, 证明 www的配置已经生效。

          下来还要检查 MX 记录是否生效, 要用nslookup检查一下是否MX记录正确。

          在windows系统的命令行控制体输入 : nslookup    -qt=mx    example.com     回车后,

能显示你的域名    example.com   , 就代表你的 MX记录配置正确。 

这里有个关键需要注意: 我们一般都是自动获取IP地址和自动获取DNS, 这自动的DNS一般就是路由器的IP地址, 这个时候使用nslookup是得不到正确的MX记录的 ,

要验证MX记录, 还得设置正确的DNS, 你比如说中国电信的DNS是 : 202.96.209.133,我就是设置了这个DNS后,才验证MX记录成功的。


          如果MX记录配置不正确, 那用QQ邮箱发邮件, 你就会收到个退信, 退信原因的内容如下 :

收件人([email protected])所属域名不存在,邮件无法送达。
Name service error for name=example.com type=MX: Host found but no data record of requested type 

           域名解析搞定了, 就可以安装配置  postfix 和  dovecot 了。


          我没有下载源码进行安装,直接用yum进行的。


         yum    install    postfix

         yum    install    dovecot

         yum    install     cyrus-sals


         安装完毕后, 需要配置的东西其实不多, 就两个配置文件需要修改。


        第一个是 :postfix 的配置文件    /etc/postifx/main.cf ,  需要修改的内容如下所示,其他的用默认即可。

myhostname = mail.example.com
mydomain = example.com
myorigin = $mydomain
inet_interfaces = all
inet_protocols = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mynetworks = 0.0.0.0/0
home_mailbox = Maildir/
smtpd_sender_restrictions = permit_mynetworks,  permit_sasl_authenticated,  reject_sender_login_mismatch, reject_authenticated_sender_login_mismatch, reject_unauthenticated_sender_login_mismatch 
smtpd_sasl_auth_enable = yes
smtpd_sender_login_maps = hash:/etc/postfix/sender_login_maps

       第二个是:dovecot的配置文件   /etc/dovecot/dovecot.conf,需要修改的内容如下所示,其他的默认即可。

protocols = imap pop3 lmtp imaps pop3s
ssl_disable = no
mail_location = Maildir:~/Maildir
disable_plaintext_auth = no

     dovecot.conf 配置好以后,如果直接启动    service   dovecot   start,   会提示警告 :

Aug 14 17:55:54 master: Warning: Killed with signal 15 (by pid=12829 uid=0 code=kill)
Aug 14 17:55:55 config: Warning: NOTE: You can get a new clean config file with: doveconf -n > dovecot-new.conf
Aug 14 17:55:55 config: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:81: login_user has been replaced by service { user }
Aug 14 17:55:55 config: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:88: add auth_ prefix to all settings inside auth {} and remove the auth {} section completely

     这时我们需要在    /etc/dovecot/目录下面执行  :

doveconf -n > dovecot-new.conf

    该命令会把   dovecot.conf  转化为标准格式的配置文件 。 我们用新生成的文件  dovecot-new.conf 替换掉 dovecont.conf 即可。


由于当Postfix要使用SMTP认证时,会读取/usr/lib/sasl2/smtpd.conf文件中的内容,以确定所采用的认证方式,因此如果要使用saslauthd这个守护进程来进行密码认证,就必须确保/usr/lib/sasl2/smtpd.conf文件中的内容为:
pwcheck_method: saslauthd


    在配置的过程中, 还有一些细节需要注意 :

    那就是设置 默认的 MTA,   卸载掉  sendmail , 把MTA设置为 postfix,  另外是设置开机自动启动:

   chkconfig   saslauthd on

   chkconfig   postfix       on

   chkconfig    dovecot   on


    然后用 useradd   命令添加一个用户   zhang , 密码设置为   123456


    启动服务:

      service    postfix    restart

      service    dovecot    restart

      service     saslauthd    restart


   下来配置  outlook,   填写 电子邮件地址为 : [email protected]

账号类型选择  POP3,   接收邮件服务器为    example.com,   发送邮件服务器也为  example.com

然后用户名为     zhang,   密码为   123456


     不出意外的话,  应该可以正常收发邮件了。  

      新邮件会保存在服务器的    /home/zhang/Maildir/new    这个目录里。


     我这个配置比较简单, 是用的服务器本身的密码验证机制。   postfix 很强大, 可以支持多种认证方式和其他的加密方式。  

本来想用   postfixadmin 进行web管理的,  但是那个配置起来就要更复杂一些了,  通过web的方式添加用户后, 需要在  home 目录创建对应的用户名的文件夹来保存邮件, 有相关的脚本需要执行,另外认证模式得修改为mysql认证, 配置 稍微复杂, 等下一篇文章在写 postfixadmin 相关的东西吧。


附:

postcat -q 659D0C3636   查看邮件内容

postsuper -d ALL                  清除邮件缓存


下面是一篇很好的文章, 讲述反垃圾邮件机制的,值得参考 :

http://jsl99.blog.163.com/blog/static/31083799201292715730463/

你可能感兴趣的:(CentOS 64位下安装Postfix+Dovecot 配置邮件服务器笔记)