今天主要是閒的無聊,買的VPS不能白白的浪費掉啊,就搭個郵件服務來玩,使用的是Postfix和Dovecot來搭建,用Foxmail客戶端登陸測試收信、發信均沒問題
先了解幾個email有關的名詞:
MUA:用戶代理端,即用戶使用的寫信、收信客戶端軟件
MTA:郵件傳送端,即常說的郵件服務器,用於轉發、收取用戶郵件。
MDA:郵件代理端,相當於MUA和MTA的中間人,可用於過濾垃圾郵件。
POP:郵局協議,用於MUA連接服務器收取用戶郵件,通信端口110。
IMOP:互聯網應用協議,功能較POP多,通信端口143。
SMTP:簡單郵件傳送協議,MUA連接MTA或MTA連接MTA發送郵件使用此協議,通信端口25。
postfix正是提供MTA功能的開源軟件,是用來收發郵件的,它沒有web頁面,所以要配合本地的MUA(類似於foxmail,outlook之類的軟件)來進行可視化的郵件管理操作。
Dovecot 是一個開源的IMAP 和POP3 郵件服務器,支持Linux/Unix 系統。作爲IMAP和POP3服務器,Dovecot爲郵件用戶代理(MUA)提供了一種訪問服務器上存儲的郵件的方法(簡單理解爲檢測用戶的合法性)。但是,Dovecot並不負責從其他郵件服務器接收郵件。Dovecot只是將已經存儲在郵件服務器上的郵件通過MUA顯示出來。
好了下面就開始幹吧
安裝Postfix和Dovecot
在安裝之前,首先我們先卸載默認的sendmail(如果有的話),因爲它是系統默認的MTA程序
1 | yum remove sendmail |
然後就可以安裝了:
1 | yum install postfix |
cyrus函數庫爲postfix的stmp提供安全的驗證支持
修改MTA(默認郵件傳輸代理)
1 | alternatives --config mta |
檢查一下是不是已經設置成功了。
1 | alternatives --display mta |
第一行可以看到mta的狀態。 例如:mat - status is manual.
安裝Dovecot:
1 | yum install dovecot |
設置域名解析
需要添加兩條記錄,如果要設置過濾垃圾郵件的規則的話,還要再加一條,關鍵字:SPF和TXT記錄類型
設置後一段時間後纔會生效,10幾分鐘吧
主機記錄 | 記錄類型 | 記錄值 | MX優先級 |
---|---|---|---|
@(不填即可,默認會給這個) | MX | mail.bfchengnuo.com | 10 |
A | 服務器的公網IP | - |
下面再說說這兩條記錄的作用
MX 記錄
這是爲郵件服務器專門設計的,用於指定負責處理髮往收件人域名的郵件服務器,簡單郵件傳輸協議(SMTP)會根據 MX 記錄的值來決定郵件的路由過程。
比如用 Gmail 往 163 發郵件,因爲不是一個域的,在“轉發”的過程中需要根據收信人地址(@163.com)查找 DNS 以確定對方域的 IP ,這樣才能正確的投遞A 記錄
這個是爲了免登陸的,正常情況下,我們發郵件需要登陸自己的賬戶,那麼 Gmail 往 163 進行“轉發”也是在發郵件,這個過程顯然不可能也要進行登陸,這就用到了 A 記錄
Gmail 轉發郵件時通過 ehlo 打招呼的時候表明自己的郵件服務器域,也就是類似mail.gmail.com
這樣的,就是指向發郵件的服務器;
對方(163)收到後進行確認,拿着這個地址查 DNS,找出對應的 IP,然後覈對發送人是不是這個 IP,這樣就可以確認發送人是服務器而不是個人用戶,就不需要登陸了
大型的郵件系統收信服務器和發信服務器不會是在一臺物理服務器上,比如基本都是 imap.gmail.com
收信服務器;smtp.gmail.com
發信服務器;對應着協議,以及現在用的比較少的 POP3
POP3 協議允許電子郵件客戶端下載服務器上的郵件,但是在客戶端的操作(如移動郵件、標記已讀等),不會反饋到服務器上,比如通過客戶端收取了郵箱中的3封郵件並移動到其他文件夾,郵箱服務器上的這些郵件是沒有同時被移動的 。
而 IMAP 提供 webmail 與電子郵件客戶端之間的雙向通信,客戶端的操作都會反饋到服務器上,對郵件進行的操作,服務器上的郵件也會做相應的動作。
http://help.163.com/10/0203/13/5UJONJ4I00753VB8.html
配置Postfix
1 | vi /etc/postfix/main.cf |
修改好了之後使用/etc/rc.d/init.d/postfix start
開啓postfix
使用chkconfig postfix on
將postfix開機啓動。
配置Dovecot
還是修改配置文件,注意要修改的文件比較多,跟着改即可
1 | vi /etc/dovecot/dovecot.conf |
使用
一切都弄好以後,就可以使用Foxmail等第三方軟件來收發郵件了。
在這裏需要說一下,系統用戶就是郵件的用戶,例如root,就是一個郵箱用戶,郵箱是[email protected],密碼就是root的密碼,所以需要創建用戶,只要使用useradd
創建用戶,再使用passwd設置密碼。
不建議使用root用戶來測試,還是useradd一個admin用戶比較好
如果使用的是Foxmail,輸入E-mail地址和密碼後,選擇接收服務器類型是IMAP,郵件賬號是你的用戶名(不是郵箱地址)
下面的IMAP和SMTP服務器保持默認的mail.bfchengnuo.com即可
還有就是:一定別忘了開啓服務器的相應的端口!比如基本的143和25端口,對應上面的兩個服務
就醬子
參考其他文章:
Linux系統下郵件服務器的搭建(Postfix+Dovecot)
http://lomu.me/post/linux-email-server