Windows Server 2016/2019/2022 (以及Windows 10/Windows 11) Mail Server 架設國產郵件伺服器最佳方案
自從互聯網問世以來,電子郵件、檔案和網站的互相連接一直存在。多年來,許多人逐漸開始建立本地的本地郵件伺服器,並且逐漸變得流行。然而,在過去的十年中,雲端服務興起,對自行搭建伺服器的態度也發生了變化。選擇自行搭建郵件伺服器必然有其原因,包括隱私保密方面的考量。隨著2024年後全球形勢的變化,對於使用台灣製造軟體的特殊需求也開始出現。接下來,我們一起來探索最新版本的郵件伺服器搭建策略。跟隨我的步驟,逐步構建一個完整的郵件伺服器。
Mail Server架設教學
因此,我們來看看如何在Windows平台下輕鬆架設Mail Server,進行mail server設定。此次演示的郵件伺服器軟體是EVO Mail Server。是目前國產軟體中最受信任的一個,因為它是除了基本SMTP與POP3服務以外還提供IMAP、CalDAV(行事曆)、CardDAV(聯絡人)服務的Mail Server軟體。
EVO是目前小弟測試過的軟體當中唯一能夠輕鬆讓您一次架設好郵件五大服務的軟體,其他軟體大多只能提供兩到三種的服務。
廢話不多說,我們先從EVO software production的官方網站先下載EVO Mail Server以備稍後安裝。在下面的章節中,我們將循序漸進的一步步帶大家不費吹灰之力第架設Mail Server: 請注意雖然安裝軟體只是三兩下的事情,但是唯有把以下每一個步驟確實檢查好,伺服器才是正確的完整設定。
第一步: MAIL SERVER DNS前置網路環境
固定IP (靜態Static IP)
現在的網路服務的申請及異動一般都是到網路供應商的DNS設定網站作申請。家用免費網路方案跟商用網路方案多少會有不同。在此提供向中華電信申請固定IP的範例:
- 瀏覽至中華電信的非固定制固定IP配發服務申請網頁。
MAIL SERVER DNS - 這裡要強調,雖然固定IP已能架設Mail Server,但使用中華電信企業用戶光世代仍優於普通固定IP,原因在於企業光世代提供IP反解設定,其IP網段也較不易被外網認為是家用網段。
網域名
如果公司或個人已經有網域名,瀏覽至網域名設定網頁做設定。如果沒有網域名,則可以參考PCHome申請網域名的教學。假設我們在PCHome已經有一個網域名,現在我們來看看在網域名設定 (DNS設定) 裡面有哪些東西要添加:
- 我們以PCHome買網址為範例。
- 登入網域名管理區塊。
- 點擊在網址清單中的右邊DNS設定與修改下方的進入。
- 需要設定三筆記錄:
- A 紀錄 - 我們設定主機/次網域為 mail,地址部分為你的固定IP (這裡的範例為 114.34.34.24),先選類型為 A。
- MX 紀錄 - 我們設定主機/次網域為空白,地址部分為 mail.mydomain.com.tw. (tw後面的"."一定不要忘記!),先選類型為 MX。
- SPF 紀錄 - 我們設定主機/次網域為空白,地址部分為 v=spf1 a mx ptr ip4:114.34.34.24 ~all,先選類型為 SPF。
- DKIM 紀錄 - 用於驗證郵件是否為此網域授權的主機發出。
IP ptr record 反解設定
一般的伺服器不大需要設定這個部分,但是郵件伺服器架設則最好要設定,尤其是公司企業。為何要設定這部分呢? 一般大型郵件服務商例如 outlook.com, gmail.com或是大型企業的郵件伺服器為防止垃圾郵件氾濫,會查詢新進電子郵件的網域名所屬郵件伺服器IP 在反解查詢下是否仍然是該新進電子郵件的網域名。例如: mail.mydomain.com.tw 的IP 解析是114.34.34.24,如果一切正常,反向查詢出來的結果仍然會是 mail.mydomain.com.tw。
此類對IP反解的規則已經慢慢成為一個趨勢,如果郵件伺服器IP的反解結果與郵件伺服器所屬的網域名不符合,可能會被退信。退信訊息的範例如下: (gmx.com為德國受歡迎的免費郵件服務商)
554-mail.com (mxgmxus006) Nemesis ESMTP Service not available 554-No SMTP service 554-Bad DNS PTR resource record. 554 For explanation visithttp://postmaster.gmx.com/en/error-messages?ip=114.34.34.24 c=rdns
這裡要補充的是家用網路無法申請IP反解。這是Hinet的規定。商用Hinet用戶,請依照下面的步驟做IP反解設定:
- 我們瀏覽到Hinet的IP反解申請頁面:
- 點擊左手邊的IP反解設定進入設定畫面:
- 了解網域名稱(DNS)管理服務的租用契約條款之後,輸入防網路攻擊的隨機認證碼及點擊最下方的Sumit進入:
- 在此IP反解設定的範例,我們用114.34.34.24,在反解IP/網段輸入114.34.34.24,設定類型保持設定反解,網域名稱(FQDN)設定為mail.mydomain.com.tw.。點擊送出即可。
- 送出之後,需要幾個小時到24小時讓此反解值生效。實際生效時間則是更快,可能半小時就生效了。
最後,您還需要DNS作多項檢測,MX檢測可以使用mx tool box網站,現在對dkim與dmarc的要求也落實了,您可觀賞以下影片查詢dkim設定方法。
郵件伺服器的內部網路IP必須保持固定。如果沒有保持固定IP,每次重開機的時候,路由器會隨機分配DHCP IP清單裡面可用IP。這會造成等等要講解的TCP連接埠無法對應到最初架設郵件伺服器所使用的內部IP。
- 登入小米路由器。
- 點擊上方的進階設定。
- 點選DHCP靜態IP分配。
- 小米路由器會顯示目前所有的連線裝置。
- 點擊一鍵綁定即可。
MAIL SERVER PORT 開通路由器上的郵件伺服器PORT連接埠
一般狀況下,資料封包透過TCP或UDP連接埠進出。IANA (Internet Assigned Numbers Authority / 網際網路號碼分配局) 對不同類型的資料分門別類的指派不同的連接埠號碼來做于端點與端點之間的傳輸,MAIL SERVER PORT/SMTP SERVER PORT也不例外。MAIL SERVER使用的PORT為:
- Port 25 - SMTP / SMTP STARTTLS -
- Port 80 - HTTP (Webmail)
- Port 110 - POP3
- Port 143 - IMAP4 (IMAP v4rev1)
- Port 443 - HTTPS (Webmail)
- Port 465 - SMTP SSL
- Port 587 - SMTP Submission
- Port 993 - IMAP4 SSL
- Port 995 - POP3 SSL
- Port 8008 - CardDAV & CalDAV
- Port 8443 - CalDAV SSL
- Port 8843 - CardDAV SSL
在不同品牌的路由器或IP分享器上面,開通連接埠的功能不盡相同。不過沒有關係,相關功能的關鍵字是 Port Forwarding (通訊埠轉發) 或 Virtual Server (虛擬伺服器)。
- 登入小米路由器。
- 點擊上方的進階設定。
- 點選通訊埠轉發。
- 點擊新增規則。
- 輸入各類郵件相關連接埠名稱,例如: SMTP。
- 協議TCP保持不變。
- 外部埠輸入 25。
- 內部IP位址輸入 2,因為先前已經設定Mail Server的DHCP靜態IP分配為192.168.31.2。
- 內部埠同樣輸入25。
- 其他剩下的11個連接埠依照步驟4到9如法炮製。
第三方硬體防火牆設定推薦
如果公司網路架構中有建置第三方硬體防火牆,必須參考防火牆裝置的使用手冊將上面提到的連接埠開啟。同時,關閉對郵件相關封包的掃描及偵測。
第三步: 準備電腦硬體、作業系統及防毒軟體
郵件伺服器架設電腦硬體
郵件伺服器在硬體方面,可以準備:
- Intel i7或i9CPU。
- 記憶體準備8GB到16GB不等。
- 硬碟方面使用固態硬碟 (SSD),容量越大越好。在這裡比較建議的配置方式是準備一個480GB SSD安裝作業系統,準備一個1024GB SSD儲存郵件資料,再裝一個2TB的傳統硬碟定期做郵件備份。
作業系統
作業系統方面,可以用一般的Windows 7, 8.1 或 10,如果要用Windows Server 2008, 2012或2016/2019/2022也可以。
比較進階的做法是在Windows底下安裝VMWare Workstation,然後在VMWare底下再安裝一套Windows。換句話說,將郵件伺服器架在虛擬作業系統上面。其用途是可以定期備份含有郵件伺服器的Windows作業系統映像檔。當郵件伺服器硬體出現問題的時候,把映像檔拿到其它的電腦上面繼續運行郵件服務,降低風險。
防毒軟體推薦
EVO Mail Server目前只能搭配ESET 的防毒軟體。因為目前只有它提供DOS命令列掃毒程式。Winwos 11 或 10 搭配ESET NOD32 Antivirus。Windows Server搭配ESET File Security for Microsoft Windows Server。
在防毒軟體的設定方面要做以下兩個設定,以防止進出的郵件封包被誤判為病毒或是惡意軟體:
- 關閉郵件掃描 -
在掃描功能裡面,關閉對郵件的例行掃描。可以直接關閉一整個郵件相關的大項目。而不用一個個POP、IMAP、SMTP的關閉。
- 將郵件資料夾加入例外清單 -
在郵件伺服器主機上面,防毒軟體裡面通常會有一個例外清單。這個清單中可以加入某個資料夾。然後在掃描的時候會跳過這個資料夾。在下面章節中安裝EVO Mail Server以後,為讓郵件伺服器可以順暢地運行,請將下面兩個資料夾加入NOD32防毒軟體的例外清單:
C:\Program Files\EVO Software Production\
C:\ProgramData\EvoMailServer\
在掃描功能裡面,關閉對郵件的例行掃描。可以直接關閉一整個郵件相關的大項目。而不用一個個POP、IMAP、SMTP的關閉。
在郵件伺服器主機上面,防毒軟體裡面通常會有一個例外清單。這個清單中可以加入某個資料夾。然後在掃描的時候會跳過這個資料夾。在下面章節中安裝EVO Mail Server以後,為讓郵件伺服器可以順暢地運行,請將下面兩個資料夾加入NOD32防毒軟體的例外清單:
C:\Program Files\EVO Software Production\
C:\ProgramData\EvoMailServer\
第四步: 安裝及設定郵件伺服器軟體
到目前為止,郵件伺服器的網路環境已經完成,接下來我們按照下面的步驟做安裝及設定EVO Mail Server:
下載及安裝EVO Mail Server,執行evoms.msi或evoms64.msi,安裝期間可能會出現UAC訊息,點選YES繼續。
下載及安裝EVO Mail Server,執行evoms.msi或evoms64.msi,安裝期間可能會出現UAC訊息,點選YES繼續。
啟動郵件服務
- 執行EVO Mail Server GUI。
- 點擊設定頁面。
- 在最上方將設定方式改為進階模式。
- 在基本設定,主要網域輸入客戶的網域,例如: mydomain.com,在次要網域輸入MX紀錄的主機名稱,例如: mail.mydomain.com (次要網域輸入的值為申請SSL憑證之用)。
- 滑鼠點擊摘要頁面。
- 點擊位於1. 郵件及伺服器的啟動來啟動郵件服務。
- 拉至最下方,點擊Windows防火牆右邊的加入例外清單。
- 在出現的兩次提示中點擊OK。
- Windows防火牆最後出現均正常開通的信息。
- 打開Computer Management,點擊Services,拉到最下面並打開World Wide Web Publishing Service Properties,Startup type設定為Disable,Service status設定為Stop。
- 步驟10的目的是為Roundcube Webmail保留Port 80。如果郵件伺服器本身有安裝Skype、Teamviewer或其他會占用Port 80的軟體,都必須跳開Port 80。
CardDAV & CalDAV設定 (限Prime版本)
- 點選設定頁面,向下拉至9. EVO Collaboration Add-on: CardDAV與CalDAV伺服器設定。點擊檢查設置,出現對話盒,點擊OK。
- 如果先前已經下載並安裝MS Visual C++ 2008、2010、2012、2015可轉散發套件,上圖中的安裝提示步驟可以跳過。
- 在隨後出現的訊息中點選YES。
- EVO Mail Server將會自動開啟瀏覽器並下載。
- 安裝ECA,直至安裝結束。
- 再次點擊檢查設置,出現已經搜尋到根目錄,點擊OK繼續。
- 再次點擊檢查設置,出現下面畫面,點擊OK。
- 現在,點擊是否啟用右邊,變成YES,此時Windows Security Alert會跳出警訊,點擊YES。
- 再次點擊檢查設置來確認服務已經啟動,會出現下面畫面告知ECA系統服務Apache(DAV)執行中,點擊OK。
替EVO Mail Server向CA申請郵件伺服器憑證
- 點擊設定頁面並下拉至6. SSL(TLS)憑證以及私密金鑰設定。(以下範例用mydomain.com為網域名)
- 在網域金鑰及憑證的下拉選單中點選啟動郵件服務第4步驟裡面建立的MX紀錄的主機名稱。在此為mail.mydomain.com。
- 點擊建立新的之後,會出現下面的表單。
- Common Name已經自動輸入,繼續輸入公司相關資料。
- 點擊建立憑證以及私密金鑰。
- 點擊顯示CSR。
- 全選Notepad顯示的內容並Copy供步驟3使用。
- 瀏覽至http://www.ksoftware.net/ssl_certs.html,點擊Comodo PositiveSSL Certificates。
- 在1. Copy and paste your CSR into this box: 旁邊的空白處貼上步驟1複製的CSR。
- 在2. Select the server software used to generate the CSR: 旁邊的選單中選Apache-ModSSL
- 在3. Select the subscription period for your certificate:, 點選申請的年數,建議3年,否則每年都需要再次申請。
- 可以跳過4. Free 90-days HackerProof and HackerGuardian? 然後點選Next >。
- 在Domain Control Validator頁面選擇 admin@mydomain.com做為審核用的郵件帳戶。並點擊右下角的Continue > 繼續。
- 在這裡,輸入公司以及連絡資訊,注意: 連絡資訊的郵件帳戶可以填審核使用的郵件帳戶。如此可以用同一個郵件帳戶做核准及接收憑證檔案郵件的後續處理動作:
- 接下來點擊I ACCEPT繼續。
- 在此頁使用信用卡做支付的動作。
- 再來,admin@mydomain.com會收到一封審核批准的郵件。郵件中會一串供審核用的授權碼,
- 點擊here的連接,可以連線到Comodo網站做批准的動作。
- 過沒有幾分鐘,admin@mydomain.com會收到一封有經Comodo CA簽署過的憑證及憑證鍊檔案附件的郵件。
將簽署過的伺服器憑證匯入EVO Mail Server
- 將來自Comodo CA郵件內的憑證檔案附件解壓縮至暫用資料夾內。
- 打開EVO Mail Server GUI。
- 點擊設定頁面並下拉至6. SSL(TLS)憑證以及私密金鑰設定。
- 點擊下拉選單並選擇適用的憑證,例如: mail.mydomain.com。
- 點擊SSL憑證(X.509) 旁邊的匯入鍵並瀏覽至步驟1的暫用資料夾、將右下角的檔案類型改為 X.509 (*.*)、選擇mail.mydomain.com.crt然後選擇OK。
- 點擊SSL憑證鍊(X.509) 旁邊的匯入鍵並瀏覽至步驟1的暫用資料夾、將右下角的檔案類型改為 X.509 (*.*)、選擇mail.mydomain.com.ca-bundle然後選擇OK。
- 匯入完成。現在開始,用戶用SSL/TLS的連線收發郵件不會再出現警告。
安裝EVOServ (ECM & Roundcube)
- 將下載及安裝步驟中的EVOServ解壓縮至C:\,此時會出現C:\EVOServ的資料夾。
- 在開始選單中瀏覽至Accessories/Command Prompt。滑鼠右鍵點在Command Prompt,點選Run as administrator,並在UAC點擊YES。
- 在Command Prompt中鍵入指令: cd c:\evoserv。
- 在Command Prompt中鍵入指令: serviceinstall.bat。
- 如果安裝成功,Command Prompt中會出現下面的訊息:
為EVOServ (Roundcube Webmail及ECM) 設定SSL連線
- 先備份c:\EvoServ\Apache2\conf\httpd.conf以及c:\EvoServ\Apache2\conf\extra\httpd-ssl.conf。
- 將先前申請下來的憑證檔案從c:\ProgramData\EvoMailServer\CONFIGS\CERTSTORE\拷貝至c:\EvoServ\Apache2\conf\。需要拷貝的檔案為:
mail.mydomain.com.key
mail.mydomain.com.crt
mail.mydomain.com.chn - 從EVO官網下載設定檔。
- 將解壓縮出來的httpd.conf覆蓋c:\EvoServ\Apache2\conf\httpd.conf。將解壓縮出來的httpd-ssl.conf覆蓋c:\EvoServ\Apache2\conf\extra\httpd-ssl.conf。
- 用文字編輯器 (例如: Notepad或Ultraedit) 編輯c:\EvoServ\Apache2\conf\extra\httpd-ssl.conf。修改方面如下:
ServerName x, x 是MX紀錄的主機名稱,例如: mail.mydomain.com
ServerAlias y, y是郵件伺服器主機的別名,例如: webmail.mydomain.com
ServerAdmin x1@x2, 此為系統管理員的郵件地址,例如: admin@mydomain.com
SSLCertificateFile “C:/EvoServ/Apache2/conf/x.crt”,憑證檔案,例如: mail.mydomain.com.crt。
SSLCertificateFile “C:/EvoServ/Apache2/conf/x.key”,金鑰檔案,例如: mail.mydomain.com.key。
SSLCertificateChainFile “C:/EvoServ/Apache2/conf/x.chn”,憑證鍊檔案,例如 : mail.mydomain.com.chn。
檔案修改完畢之後,儲存檔案格式為 UTF-8 NO BOM。 - 最後要重啟Apache服務。步驟如下:
- 在開始選單中瀏覽至Windows System,滑鼠右鍵點在Command Prompt,點選Run as administrator,並在UAC點擊YES
- 在Command Prompt中鍵入指令: cd c:\evoserv
- 在Command Prompt中鍵入指令: serviceremove.bat
- 在Command Prompt中鍵入指令: serviceinstall.bat
- 如果SSL建置成功,在網頁瀏覽器輸入https://mail.mydomain.com,不會出現下列警告訊息:
新增郵件帳戶 - 本地帳戶
- 在新增帳戶之前,我們先設定Quota的預設值,用檔案管理員瀏覽至C:\ProgramData\EvoMailServer\CONFIGS\,打開config.ini檔案,調整兩筆參數:
DEFVAL_QUOTA_MB=
(等號後面添加數字,如果在此為空白時,新增的帳號則沒有Quota的功能)
DEFVAL_QUOTA_PUNISHMENTS=
(等號後面添加三個參數: R、S、N。這三個英文字母都必須大寫,排列組合沒有限制,中間不用空格。例如 : RSN, RN, RS, N,SRN等等)
R - 代表別人無法寄進來,因此也無法收到郵件
S – 代表該帳戶無法再發送郵件
N – 會透過郵件通知該帳戶Quota已達上限 - 點擊帳戶分頁。
- 在帳戶管理員中,點擊右下角的新增。
- 在基本資料區塊輸入帳戶資料。
帳號、所屬網域 (若為所有本地網域,則a@abc.com、a@def.com及a@ghi.com皆為同一帳戶)、密碼等等。密碼強烈建議使用英文字母大小寫+數字+標點符號,否則非常容易被入侵。也可以點擊自動產生密碼來產生複雜性夠高的密碼。 - 下方的各種參數可視需求做設定。例如 : 可以設定個人的Quota以及Quota上限觸發時會發生的動作:
新增郵件帳戶 - AD或LDAP帳戶 (此範例的網域名為domain.com)
- 開啟EVO Mail Server GUI。
- 點選到設定頁面,往下拉到5. 與LDAP伺服器整合進行帳戶驗證,先把NO點選成YES。
- 其餘的設定,請參考下面的範例 :
關於參數的詳細說明請參考EVO官網技術支援區塊的與LDAP伺服器整合進行帳戶驗證。
第五步: 郵件客戶端設定及測試
Outlook 包含同步連絡人、行事曆、工作 (此範例的網域名為domain.com)
- 點擊Outlook左上角FILE。
- 點擊Add Account。
- 確認有選取E-mail Account,然後點擊Next >。
- 點擊Manual setup or additional server types。
- 點選POP or IMAP。
- 輸入郵件帳戶、郵件伺服器位址、密碼。
- SMTP Auth必須打勾!!!!!
- 非加密連線: IMAP使用Port 143,SMTP使用Port 25。 加密連線: IMAP使用Port 143 (STARTTLS 加密),SMTP使用Port 587
- 點擊NEXT以後,測試成功。
- 隨後做發郵件到類似Gmail的外部郵件帳號以及從外部郵件帳號回覆到本地帳號的測試。
- 後續,如果有同事使用Microsoft Outlook,則可以安裝EVO Collaborator for Outlook來同步連絡人、行事曆、工作。設定教學請參考EVO Mail Server的相關網頁。註: 在此教學的步驟6,請點選Profile #1。
- 主機名稱或IP位置請輸入 mail.domain.com。
- 帳號請輸入user1或user1@domain.com。
- 密碼請輸入該帳戶之密碼。
- 請跳過後續的步驟7。
Webmail 包含同步CardDAV連絡人 (此範例的網域名為domain.com)
- 在網頁瀏覽器輸入http://mail.domain.com。
- 點擊Roundcube Webmail。
- 在登入畫面輸入帳密 (帳號請輸入完整電子郵件帳戶) 之後,點擊Login。
- 隨後做發郵件到類似Gmail的外部郵件帳號以及從外部郵件帳號回覆到本地帳號的測試。
- 接下來,我們來設定CardDAV外掛讓用戶端在webmail也能同步自己的連絡人清單。首先,點擊右上角的Settings。
- 點擊左手邊下方的CardDAV。
- 在中間的密碼空白處輸入密碼。然後點擊Add。
- 連絡人清單添加完成。
ECM: EVO Collaboration Mobile (此範例的網域名為domain.com)
- 在網頁瀏覽器輸入http://mail.domain.com,點擊EVO Collaborator。
- 登入ECM之後,用戶端可以做帳號的部分設置、檔案的上傳,瀏覽布告欄等等。佈告欄的功能在下方的Doc. Sharing裡面。
- 公佈欄 – 點擊右上角的 + Upload,然後在Choose category for target那裏點選Bulletin,然後再下方的Subject以及File detail可以輸入信息,然後點擊Upload即可完成信息發布。他人可以看到Bulletin的內容。
- 個人檔案上傳及分享 – 點選My personal doc之後,選擇本地檔案以及輸入檔案敘述之後點擊Upload即可。
- 上傳檔案完畢以後,點入My personal doc,點入其中一個檔案可以做檔案分享的設定。點擊Enable file sharing之後在File sharing URL可以看到該檔案的Internet URL以及存取密碼。
附錄: MAIL SERVER 設定參考連結
* 阿里郵箱
超完整的一篇教學
回覆刪除學習了
請問這個在aws上面也能使用??
回覆刪除MAIL SERVER上面一定要用SSL憑證嗎
回覆刪除不用可不可以?
如果不用以現在來說已經很不切實際了
回覆刪除最好是使用
aws上也可以使用喔
回覆刪除