RHEL5使用Dovecot做POP3(S)/IMAP(S)服务器(2)

# 根据手册,最好还是“显式”指示邮件位置
    # mbox邮件存储格式,如果想支持IMAP4的话,没个系统用户需要有home目录
    mail_location = mbox:~/mail:INBOX=/var/mail/%u

============================================================
    【注意】如果是采用maildir格式的话,配置文件里默认的例子是mail_location = maildir:~/Maildir,如果是这样就不需要设置什么访问权限了,客户端POP3/IMAP登录成功后,就具备相应的用户权限来访问自家目录下的邮件,如果Maildir不存在的话还会自动建立起来。

如果你指定别的邮件目录,像我以下这样:
    mail_location = maildir:/home/Mail/%n/Maildir
    除了得事先建立好用户目录,还需要从Mail目录到用户目录具备相应用户的执行权限。
    ============================================================

# 这里需要给Dovecot指定"mail"组权限去读写INBOX(/etc/mail/%u或别的位置)
    mail_privileged_group = mail

============================================================
    【注意】如果客户端登录后有足够的权限读写INBOX就不需要mail组用户权限了。
    ============================================================

# 支持IMAP和POP3,默认即可,当然可以在其中加入很多参数以及优化,
    protocol imap {
    }
    protocol pop3 {
    }
    # 本地投递代理设置
    protocol lda {
      # 发送拒绝信时使用的邮件地址(我目前也没清楚这里啥时候用)
      postmaster_address = [email]postmaster@hoho.com[/email]
    }

# 如果想使用系统用户密码验证的话,只能把邮件帐号"@"以及其后的域名去掉。
    # 如果你使用支持不同域用户([email]snail@a.com[/email]不同于[email]snail@b.com[/email])的其它密码数据库,
    # 则可不必修改这里,默认是以%u也即类似"[email]snail@hoho.com[/email]"的全名来当作用户名验证的。
    auth_username_format = %n

============================================================
    【注意】这里有一个弊端,如果使用"%n"来处理需要验证的用户名,则用户名后面的域名信息将会被抛弃,也就是说后面就无法再使用"%d"来获取用户域名信息了!
    ============================================================

# 默认的认证配置
    auth default {
      # 支持plain和login认证机制
      mechanisms = plain login
      # 为了和sendmail一致,这里使用pam密码验证方式(也可以使用shadow方式)
      passdb pam {
      }

============================================================
      【注意】如果使用pam密码验证方式,需要在/etc/pam.d/目录下建立dovecot文件,
      其内容和smtp文件一样即可。或者使用官方网站建议的:
      # /etc/pam.d/dovecot
      auth    required        pam_unix.so nullok
      account required        pam_unix.so
      ============================================================

# 系统用户始终用passwd作为用户数据库
      userdb passwd {
      }
      # 需要用root用户来访问用户和密码数据库
      user = root
    }

好了,到此Dovecot的基本配置算完毕了,注意事项已经在上述配置的后面分别说清楚了。下面我们启动Dovecot,然后使用客户端Foxmail,Outlook测试是否OK。

【注意】防火墙需要开放110(POP3),143(IMAP),995(POP3S),993(IMAPS)端口。

启动dovecot:
    [root@pps ~]# dovecot

如果Dovecot配置文件错误,这里会立刻提示出来。如果是客户端验证、接收(同步)等错误,则需要查看日志文件/var/log/maillog。

如果在日志中记录的错误不够详细,可以在配置文件里开启相关过程的“冗余”记录,比如:
    # 显示协议层的SSL错误
    verbose_ssl = yes
    # 详细的认证过程信息记录
    auth_verbose = yes
    # 更详细的认证调试(debug)信息
    auth_debug = no

更多的冗余、Debug选项可以参考示例配置文件或者官网相关资料。

停止dovecot:
    [root@pps ~]# killdovecot.sh

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wyfsyx.html