1. 程式人生 > >Linux中Postfix郵件接收配置(四)

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

[[email protected] ~]# yum install dovecot dovecot-mysql

②修改配置檔案

[[email protected] ~]# vim /etc/dovecot/dovecot.conf
ssl = no
  #禁止SSL機制,不然後面telnet無法連線測試
disable_plaintext_auth = no
  #允許明文密碼驗證,不然賬號連線不上
mail_location = maildir:~/Maildir
  #設定郵件儲存格式及位置(Dovecot收郵件的方式一定要與Postfix收郵件方式相同)
protocols = imap imaps pop3 pop3s
  #開啟支援的收郵件協議
[[email protected] ~]# service dovecot start

[[email protected] ~]# chkconfig dovecot on

PS:Dovecot就安裝完成後開啟協議就可以用來收郵件了,預設就可以從Passwd中認證賬戶。

POP3協議收郵件命令

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

編譯安裝Dovecot

①安裝pam-devel

[[email protected] ~]# yum install pam-devel

②安裝Dovecot

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

③安裝dovecot.pem

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

#會在/etc/ssl/certs/下生產一個dovecot.pem證書

④新增系統的服務

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

⑤建立dovecot.conf配置檔案

[[email protected] ~]# cp -R /usr/local/share/doc/dovecot/example-config/* /etc/dovecot
[[email protected] ~]# 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認證檔案

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

⑧最後啟動編譯好的dovecot服務可以測試收郵件

[[email protected] ~]# /etc/init.d/dovecot start