• Linux中Postfix邮件接收配置(四)


    Dovecot介绍

    MRA邮件取回代理也有很多如courier-imap,cyrus-imap和dovecot这三个个工具,下面重点介绍Dovecot:

    1.高安全性。据 Dovecot 的作者声称,从 Dovecot 的设计和实现,安全性都是被高度关注和强调的。这里的安全性不单单指传统意义的安全漏洞,也包括软件的可靠性。而 Dovecot 高安全性的最佳佐证,就是“悬赏”。Dovecot 作者从 2006 年开始,对于第一个能够发现“remotely exploitable security hole”的人,奖赏 1000 英镑,结果时至今日,这 1000 英镑仍然没有人得到。这里的“remotely exploitable security hole”并不是简单的指软件缺陷。由此看出其安全性十分了得。而作为可直接访问用户数据和邮件的应用,如果存在被人非法访问的漏洞,后果何其严重。

    2.高性能。这里的高性能并不是泛指 Dovecot 软件本身运行多快,而是专指 Dovecot 在访问邮箱时的高性能。Dovecot 是通过对标准的邮件存储格式 mbox 和 maildir 进行索引来做到的。索引对用户是透明的,在后台悄悄的,并且是增量进行,也就是在每次有新邮件或者是用户对邮件进行修改或删除时进行,因此将索引的代价降至最低。Dovecot 只对那些用户客户端经常用到的信息,如邮件标题,邮件发送者等进行索引。保证索引文件不过于太大。在邮箱的邮件数很小的时候是看不出索引的好处的,但当邮件数量慢慢增大时,Dovecot 就显示出他的优势:每次打开邮箱,收发删除邮件都非常快。相比其他一些传统主流的 IMAP Server 如 uwimap,就不支持索引,因此每当打开邮箱,需要扫描整个文件系统,载入全部文件,放到内存,代价之大,可想而知。另外索引和我们接下来讨论的主题是紧密相关的。

    3.支持pop3,imap4,pops,imaps收邮件协议

    4.易于管理和扩展性。Dovecot 具有非常多的插件,使得配置十分方便和灵活。比如有SASL的认证能力,但不依赖于SASL才可以认证,自身就可以直接去做认证的 auth-mechanism,支持 plain,CRAM-MD5 等。下面是例子:

    10-auth.conf:
    
    auth_mechanisms = plain login cram-md5。
    

    又比如用于用户密码认证的 passworddb,支持 password-file,LDAP,SQL,Static 等。

    5.支持两种邮箱格式:

    mailbox:一个邮件存储所有邮件(redhat默认使用)
    
    maildir:一个文件存储一封邮件,所有邮件存储在一个目录中
    

    RPM包安装Dovecot

    ① 安装Dovecot

    [root@localhost ~]# yum install dovecot dovecot-mysql
    

    ②修改配置文件

    [root@localhost ~]# vim /etc/dovecot/dovecot.conf
    ssl = no
      #禁止SSL机制,不然后面telnet无法连接测试
    disable_plaintext_auth = no
      #允许明文密码验证,不然账号连接不上
    mail_location = maildir:~/Maildir
      #设置邮件存储格式及位置(Dovecot收邮件的方式一定要与Postfix收邮件方式相同)
    protocols = imap imaps pop3 pop3s
      #开启支持的收邮件协议
    [root@localhost ~]# service dovecot start
    
    [root@localhost ~]# chkconfig dovecot on
    

    PS:Dovecot就安装完成后开启协议就可以用来收邮件了,默认就可以从Passwd中认证账户。

    POP3协议收邮件命令

    Linux中Postfix邮件接收配置(四)Linux中Postfix邮件接收配置(四)

    编译安装Dovecot

    ①安装pam-devel

    [root@localhost ~]# yum install pam-devel
    

    ②安装Dovecot

    [root@localhost ~]# useradd -M -s /sbin/nologin dovecot
    [root@localhost ~]# useradd -M -s /sbin/nologin dovenull
    [root@localhost ~]# tar xvf dovecot-2.1.11.tar.gz -C /usr/src
    [root@localhost dovecot-2.1.11]# cd /usr/src/dovecot-2.1.11
    [root@localhost dovecot-2.1.11]# ./configure --sysconfdir=/etc --with-mysql --with-pam
    [root@localhost dovecot-2.1.11]# make && make install
    

    ③安装dovecot.pem

    [root@localhost ~]# mkdir -p /etc/ssl/certs
    [root@localhost ~]# mkdir -p /etc/ssl/private
    [root@localhost ~]# cd /usr/src/dovecot-2.1.11/doc
    [root@localhost doc]# sh mkcert.sh
    

    #会在/etc/ssl/certs/下生产一个dovecot.pem证书

    ④添加系统的服务

    [root@localhost doc]# cp dovecot-initd.sh /etc/init.d/dovecot
    [root@localhost ~]# chmod +x /etc/init.d/dovecot
    [root@localhost ~]# chkconfig --add dovecot
    [root@localhost ~]# chkconfig dovecot on
    

    ⑤建立dovecot.conf配置文件

    [root@localhost ~]# cp -R /usr/local/share/doc/dovecot/example-config/* /etc/dovecot
    [root@localhost ~]# vi /etc/dovecot/dovecot.conf
    !include conf.d/10-auth.conf
    ssl = no
      #禁止SSL机制
    disable_plaintext_auth = no
      #允许明文密码验证,不然账号连接不上
    mail_location = maildir:~/Maildir
      #设置邮件存储格式及位置(Dovecot收邮件的方式一定要与Postfix收邮件方式相同)
    protocols = imap pop3
      #开启支持的收邮件协议
    

    ⑥创建PAM认证文件

    [root@localhost ~]# vi /etc/pam.d/dovecot
    auth       required    pam_nologin.so
    auth       include     system-auth
    account    include     system-auth
    session    include     system-auth
    

    ⑧最后启动编译好的dovecot服务可以测试收邮件

    [root@localhost ~]# /etc/init.d/dovecot start
    
  • 相关阅读:
    PHP计算两个绝对路径的相对路径
    mysql触发器的使用 想让b字段在更新的时候把旧数据保存到a字段中
    LHC大神问的矩阵转置问题
    母牛2年生小牛 5年后并死去的算法
    switch和continue的关系
    逐行读取文件示例
    安装Harbor管理镜像服务
    解决:ElasticSearch ClusterBlockException[blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];
    Jenkins教程(五)构建Java服务Docker镜像
    Nacos高可用集群解决方案-Docker版本
  • 原文地址:https://www.cnblogs.com/linuxprobe-sarah/p/10248023.html
Copyright © 2020-2023  润新知