架設MailServer自訂網域,使用Azure Virtual Machine、hMailServer、Gmail(收發信)、DNS設定
前言:
現在收發信件的服務已經非常多,最常見的就是Gmail來收發信且穩定又可靠,但缺點就是網域只能是gmail(廢話),所以決定自己架設Mail Server,網路上也有提供很多MailServer的服務像是Google 的
Apps for Work就是非常棒的方案,但畢竟還是有些限制不像自己架的更有彈性,各有優缺需自行評量。
本範例使用Azure 的Virtual Machine 來快速建立主機、hMailServer軟體(SMTP、POP3、IMAP…等),以及利用Gmail介面收發管理信件。
建置前需了解:
1.Server 主機:
筆者使用是Windows Server 2012 R2,為什麼不用Exchange Server 2013沒什麼特別原因純粹是因為筆者沒用過Exchange Server ,下篇文章應該會使用。
2.Domain:
需像網路業者租用(GoDaddy、Hinet)。
3.DNS Server :
筆者是向GoDaddy申請Domain的所以GoDaddy就有提供DNS代管,這篇就不談DNS架設,但還是會講到MX的設定。
4.hMailServer軟體:
免費郵件伺服器軟體,支援多網域、別名、SSL、多語系、MySQL、MSSQL、PostgreSQL。
5Gmail:
因為筆者常使用Gmail,所以用Gmail來管理郵件。
大致步驟:
「建置Server 主機」>「設定DNS」>「 安裝hMailServer」 >「設定hMailServer」、「設定GMail」。
開始吧!!!
建立Server主機
DNS NAME:{自訂名稱}。
IMAGE:Windows Server 2012 R2 Datacenter
SIZE:{看你想要的VM等級}
USER NAME:{自訂}遠端登入使用
NEW PASSWORD:{自訂}遠端登入使用
REGION/AFFINITY GROUP:{伺服器架設地區}
接下來我們要設定DNS,所以要先看看這台主機的IP位置。
點擊剛剛建立的主機「mailServer」
點擊剛剛建立的主機「DASHBOARD」
這邊可以看到「PUBLIC VIRTUAL IP (VIP) ADDRESS」這是這台主機對外的IP請記住這組IP
GoDaddy的後台DNS管理介面
加入一個A Record,並指向剛剛所記錄的IP。自訂Host通常會設定為 mail比較好辨別,也就是mail@{DoaminName.com}
接下來設定MX,MX的作用是讓DNS查詢到這個Domain的Mail Server 是哪幾台。
舉例來說,當A要寄信給user@example.com時候,DNS就會去查詢這個example.com底下有哪些Mail server,並且轉送給他們做處理。
如果Host 是 @:則寄給@example.com的都會轉送處理。
如果Host 是 *:則寄給@xxxx.example.com的都會轉送處理。
DNS設定完畢之後我們回到,Server 上安裝hMailServer,
官網下載:https://www.hmailserver.com/download
安裝hMailServer ,一直下一步到底
設定管理密碼
Connect
輸入管理密碼
新增Domain
加入帳號
設定SMTP及轉送請求是否驗證。
可依照需求更改Port
基本上hMailServer已經設定完畢很簡單吧!!
接下來在防火牆開啟SMTP、POP3的Port
「控制台」>「防火牆」>「進階設定」
「Inbound Rules」> 「New Rule」
選擇「Port」
輸入SMTP的Port
自訂個名稱
重複上述步驟POP3的Port也要建立。
以上我們已經完成了MailServer架設,現在要使用Gmail來收信以及發信。
先到Gmail首頁 > 「齒輪」 > 「Settings」
首先先設定收信(POP3)
點擊「Accounts and Import」>「Add a POP3 mail account you own」
輸入我們剛剛建立的帳號
連接MailServer 的POP Service
Username:{剛剛建立的帳號}
POP Server:{mailServer}
POP設定完成(可以在Gmail上收信),接下來設定SMTP送信,也就是當有人寄信給你的時候,你直接可以在Gmail上回信,並且是用剛剛所設定的帳號。
連接SMTP設定
SMTP Server:{mailServer}
Username :{帳號}
Port:{SMTP Port}
Gmail 此時會寄信給剛剛設定的帳戶。
收到驗證碼
貼上驗證碼
按下Verify後,此時我們也完成了可以用Gmail來用該帳號發信。
測試Domain 帳號發送給外部帳號。
外部帳號成功收信
外部帳號回信給Domain帳號
Domain成功收信
完成
如有錯誤還請各位先進前輩們不吝嗇的指教,謝謝。