搭建 Postfix、Dovecot 郵件服務

搭建 Postfix、Dovecot 郵件服務

準備域名

任務時間:15min ~ 20mincss

域名註冊

若是您尚未域名,能夠在騰訊雲上選購,過程能夠參考下面的視頻。html

  • 視頻 - 在騰訊雲上購買域名

域名解析

域名購買完成後, 須要將域名解析到實驗雲主機上,實驗雲主機的 IP 爲:java

<您的 CVM IP 地址> 

在騰訊雲購買的域名,能夠到控制檯添加解析記錄,過程可參考下面的視頻:swift

  • 視頻 - 如何在騰訊雲上解析域名

完成該實驗共須要添加兩條記錄:安全

A 記錄

記錄類型:Abash

主機記錄:@服務器

記錄值:<您的 CVM IP 地址>app

MX 記錄

記錄類型:Adom

主機記錄:@post

記錄值:yourdomain.com(替換爲本身域名)

生效檢查

域名設置解析後須要過一段時間纔會生效,經過 ping 命令檢查域名是否生效 [?],如:

ping yourdomain.com 

若是 ping 命令返回的信息中含有你設置的解析的 IP 地址,說明解析成功。

(使用 ctrl + c 中止)

檢查 MX 記錄

替換下面命令中的 yourdomain.com 爲您本身的註冊的域名:

nslookup -q=mx yourdomain.com

若是 nslookup 命令返回的信息中含有你設置的域名的記錄值,說明解析成功。

 

注意替換下面命令中的 yourdomain.com 爲您本身的註冊的域名

實驗以前

任務時間:5min

配置一個功能完善的郵件服務器並非一項容易的工做,本實驗只是搭建了一個簡單的郵件服務器,一些更爲強大的功能還須要你去探索。

Postfix、Dovecot 簡介

Postfix

Postfix 是一個標準的 MTA「Mail Transfer Agent」服務器,它負責經過 SMTP 協議管理髮送到本機的郵件以及由本機發向外界的郵件。

Dovecot

Dovecot 是一個優秀的 IMAP/POP 服務器用以接收外界發送到本機的郵件。

Postfix、Dovecot 安裝

在 CentOS 7 上,咱們能夠直接使用 yum 進行下載安裝:

yum -y install postfix dovecot 

Postfix

任務時間:5min ~ 10min

配置 Postfix

有關教程中配置參數的具體含義,請參照 Postfix 配置文檔

配置

在終端中輸入如下命令以修改 Postfix 相關配置,請記得將 yourdomain.com 替換爲你本身的域名:

  1.  
    postconf -e 'myhostname = server.yourdomain.com'
  2.  
    postconf -e 'mydestination = localhost, localhost.localdomain'
  3.  
    postconf -e 'myorigin = $mydomain'
  4.  
    postconf -e 'mynetworks = 127.0.0.0/8'
  5.  
    postconf -e 'inet_interfaces = all'
  6.  
    postconf -e 'inet_protocols = all'
  7.  
    postconf -e 'mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain'
  8.  
    postconf -e 'home_mailbox = Maildir/'
  9.  
    postconf -e 'smtpd_sasl_type = dovecot'
  10.  
    postconf -e 'smtpd_sasl_path = private/auth'
  11.  
    postconf -e 'smtpd_sasl_auth_enable = yes'
  12.  
    postconf -e 'broken_sasl_auth_clients = yes'
  13.  
    postconf -e 'smtpd_sasl_authenticated_header = yes'
  14.  
    postconf -e 'smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination'
  15.  
    postconf -e 'smtpd_use_tls = yes'
  16.  
    postconf -e 'smtpd_tls_cert_file = /etc/pki/dovecot/certs/dovecot.pem'
  17.  
    postconf -e 'smtpd_tls_key_file = /etc/pki/dovecot/private/dovecot.pem'

配置中 Postfix 使用 sasl 和 tls 來完成身份認證和傳輸信息加密。

試驗中使用了 Dovecot 默認的 ssl 證書和私鑰,若是你須要修改成本身的,請替換最後兩行配置的路徑。

配置 smtps

部分郵件客戶端依賴於使用 465 端口提供加密鏈接,因此咱們修改配置,容許 Postfix 使用 465 端口發送郵件。

打開 /etc/postfix/master.cf 文件,將以下兩行前的 # 去除:

  1.  
    smtps inet n - n - - smtpd
  2.  
    -o smtpd_tls_wrappermode=yes

而後 ctrl + s 保存文件。

啓動

使用如下命令,將 Postfix 設爲自動啓動並首次啓動該服務:

  1.  
    systemctl enable postfix.service
  2.  
    systemctl start postfix.service

Postfix 日誌

Postfix 系統的日誌文件在系統的這個目錄下的 /var/log/maillog 文件,此文件記錄了 Postfix 服務器的運行狀態信息。

Dovecot

任務時間:5min ~ 10min

配置 Dovecot

修改 dovecot.conf

打開 /etc/dovecot/dovecot.conf 文件,在最下方加入如下配置:

示例代碼:/etc/dovecot/dovecot.conf
  1.  
    ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
  2.  
    ssl_key = </etc/pki/dovecot/private/dovecot.pem
  3.  
     
  4.  
    protocols = imap pop3 lmtp
  5.  
    listen = *
  6.  
    mail_location = Maildir:~/Maildir
  7.  
    disable_plaintext_auth = no
  8.  
     

若是前面你修改成了本身的 ssl 證書和私鑰,請替換開始兩行配置的路徑。

而後 ctrl + s 保存文件。

修改 10-master.conf

打開 /etc/dovecot/conf.d/10-master.conf 文件,在最下方加入如下配置:

找到 service auth 部分,將如下行前面的 # 去除:

  1.  
    unix_listener / var/spool/postfix/private/auth {
  2.  
    mode = 0666
  3.  
    }

而後 ctrl + s 保存文件。

啓動 Dovecot

使用如下命令,將 Dovecot 設爲自動啓動並首次啓動該服務:

  1.  
    systemctl enable dovecot.service
  2.  
    systemctl start dovecot.service

查看 /var/log/maillog 文件,查看服務是否成功啓動。

如成功啓動,日誌裏應包含以下信息:

  1.  
    Jun 26 12:00:28 localhost postfix/postfix-script[28338]: starting the Postfix mail system
  2.  
    Jun 26 12:00:29 localhost postfix/master[28340]: daemon started -- version 2.10.1, configuration /etc/postfix
  3.  
    Jun 26 12:28:40 localhost dovecot: master: Dovecot v2.2.10 starting up for imap, pop3, lmtp (core dumps disabled)

建立帳戶

任務時間:5min ~ 10min

該配置下郵箱帳戶依賴於系統用戶,因此經過添加系統用戶的方式建立郵箱帳戶。

添加用戶

在終端中使用 useradd 命令添加用戶:

useradd test 

使用 passwd 命令設置對應用戶密碼:

passwd test 

測試

任務時間:10min ~ 15min

如測試中遇到異常,請查看 maillog 日誌文件中的錯誤信息。

服務器端發送測試

使用 su 命令切換用戶:

su test 

咱們可使用 mail 命令發送郵件,將 xxxx@xxx.com 替換爲你的其餘郵箱。

echo "Mail Content" | mail -s "Mail Subject" xxxx@xxx.com 

而後能夠前往你的接收方郵箱查收。

郵件客戶端

你能夠將該郵箱帳戶添加至郵件客戶端使用,推薦使用 Foxmail 客戶端。

能夠參考如下配置進行設置:

  1.  
    服務器類型: `POP3`
  2.  
    郵箱帳戶: `test@yourdomain.com`
  3.  
     
  4.  
    收件(POP3)服務器: `yourdomain.com`
  5.  
    端口: `995`
  6.  
    安全鏈接(SSL): `是`
  7.  
    用戶名: `test`
  8.  
    密碼: `test用戶密碼`
  9.  
     
  10.  
    發件(SMTP)服務器: `yourdomain.com`
  11.  
    端口: `465`
  12.  
    安全鏈接(SSL): `是`
  13.  
    用戶名: `test`
  14.  
    密碼: `test用戶密碼`

而後就可使用郵件客戶端經過該帳戶收發郵件了。

(該配置在某些郵件客戶端下可能由於使用了通用證書而出現使用異常)

相關文章
相關標籤/搜索