入門HMailServer:逐步教程

“郵件伺服器”這個詞幾乎可以視為是與Microsoft Exchange同義詞。您不必選擇Microsoft Exchange,而是可以設置一個名為hmailserver的免費郵件伺服器!

如果您有興趣試用它,那麼您很幸運!因為在本文中,您將學習到如何安裝hMailServer並將其設置為郵箱和SMTP伺服器的基本要求和操作步驟。

通過本文的學習,您將學會執行基本配置任務,例如添加域名、用戶、SSL證書以及使用SMTP智能主機進行外部郵件傳遞。

準備環境

本文將介紹在一台單獨的伺服器上安裝和配置hMailServer的步驟。如果您打算跟隨示例進行操作,您需要準備一些要求。

  • A Windows Server 2016 computer.
  • 從這個鏈接下載最新版本的hMailServer。
  • 用於訪問電子郵件帳戶的電子郵件客戶端。在本文中,將使用Mozilla Thunderbird
  • (可選) Active Directory。只有在您基於Active Directory用戶創建hMailServer郵件用戶時才需要它。否則,您仍然可以在沒有它的情況下創建郵件用戶。
  • (可选)一个有效的SSL证书用于加密电子邮件客户端连接。您可以从Let’s Encrypt免费获取SSL证书。证书必须是PEM格式的。如果没有这个证书,hMailServer仍然可以正常工作,但没有加密功能。

数据库要求

hMail Server可以安装内置数据库(Microsoft SQL Server Compact Edition (CE))。它适用于测试、小型部署或个人安装。

然而,如果您计划在商业环境或生产环境中使用hMailServer,您需要一个外部数据库。如果您选择使用外部数据库,hMailServer支持以下数据库引擎。

  • Microsoft SQL Server 2000或更高版本
  • MySQL
  • PostgreSQL

本文中只使用内置数据库。

网络和端口要求

您的网络中必须允许以下端口。根据您的计划使用(如仅IMAP,没有POP3),您可以选择留下一些不会使用的端口。

  • 25(SMTP)
  • 465(SMTP SSL/TLS)
  • 587(SMTP Submission)
  • 110(POP3)
  • 995(POP3 SSL/TLS)
  • 143(IMAP)
  • 993(IMAP SSL/TLS)

DNS记录要求

邮件系统对于电子邮件传递的正确功能非常依赖DNS。因此,必须设置正确的DNS记录,包括内部和外部解析。

為了保持簡單,在本文中:

  • 內部DNS將僅使用一個DNS(A)記錄,該記錄是hMail Server將安裝的伺服器的完全限定域名(FQDN)。在本文中,伺服器地址是hmail1.lzex.cf
Sample DNS (A) record for the hMailServer

(可選)外部DNS將使用兩個DNS記錄。

DNS (MX) record
  • MX記錄將用於郵件傳遞,指向hMailServer的外部地址。
DNS (CNAME) Record
  • A CNAME record that will be used for client connection (IMAP, POP3, SMTP), also pointed to the external address of the hMailServer.

有關系統需求的完整列表,請訪問hMailServer的系統需求頁面。

安裝hMailServer

進行hMailServer安裝是一個相當簡單的過程。這是一種基於嚮導的安裝類型,這意味著您只需要點擊按鈕即可。

  1. 找到您已下載的安裝文件,然後啟動它。然後,在歡迎頁面上點擊下一步
  2. 許可協議頁面上,您必須接受條款。點擊下一步
  3. 接下來,選擇自定義路徑或保留hMailServer將安裝的默認路徑。然後,點擊下一步
  4. 您將看到兩個選項:完整安裝自定義。選擇完整安裝以安裝伺服器和管理工具。然後點擊下一步
  5. 接下來,選擇數據庫伺服器類型。在本文中,將使用內建的數據庫引擎。然後點擊下一步
  6. 點擊下一步選擇開始選單資料夾頁面上,將其保留為默認值。
  7. 接下來,您需要為正在安裝的hMailServer實例指定密碼。請確保記住此密碼。
  8. 您將看到您選擇的安裝選項的摘要。點擊安裝按鈕開始安裝過程。
  9. 等待安裝完成,然後點擊完成
  10. 連接窗口中,選擇hMailServer的實例,然後點擊連接。在提示時輸入密碼,然後點擊確定
hMailServer Instance on the Connect Window

就這樣!您已成功安裝了第一個hMailServer。

Successfully Added hMailServer

將域名添加到hMailServer

僅安裝hMailServer是不夠的,您還需要配置域名、用戶、端口和轉發設置等其他內容。

在添加用戶之前,您必須先添加一個電子郵件域。這必須是您已準備好並計劃用於電子郵件地址的電子郵件域。

要添加新的域,請在hMailServer管理員(管理控制台窗口)中點擊。您會注意到域列表是空的 – 這是預期的。點擊添加

Adding Domain to the hMailServer

接下來,在框中輸入您的域名。請確保啟用的複選框已被選中,然後點擊保存

請注意,該域名還有其他可配置項,例如消息大小限制和默認簽名。如有需要,請隨意進行配置。

Domain Configurations to the hMailServer Window

點擊保存後,如下所示,一個新的域名已被創建並添加到域名列表中。

Saving Domain to the hMailServer Window

將用戶添加到Hmailserver

現在可以在該域名下添加郵件帳戶了。

要添加新帳戶,點擊域名下的帳戶文件夾。然後,在右側點擊添加按鈕。

Adding User to the hMailServer Window

轉到高級選項卡,指定新用戶的名字姓氏

Inserting First Name and Last Name to the hMailServer Window

然後,轉到常規選項卡,輸入要創建帳戶的地址密碼。同時,建議為用戶郵箱設置最大大小。完成後,點擊保存

Inserting Address and Password to the hMailSever Window

如下圖所示,新的郵件帳戶已被創建。

New Email Added to the hMailServer Window

與Active Directory集成用戶

您可以修改現有用戶或創建新用戶並將其與Active Directory連接。將一個hMailServer用戶與Active Directory集成可確保您的用戶可以使用其域驗證信息登錄到hMailServer帳戶。

假設您已經創建了該帳戶並希望將其與AD集成,請按照以下步驟進行。

首先,在hMailServer管理控制台中找到並編輯該帳戶。然後,轉到Active Directory選項卡。

接下來,勾選Active Directory 帳戶方塊。在網域方塊中輸入 Active Directory 網域,並在使用者名稱方塊中輸入使用者名稱。編輯完成後,點擊儲存

Inserting Domain to the Active Directory Box

從上面的圖片中可以看到,hMailServer 使用者具有相對應的 Active Directory 帳戶。使用者現在可以使用他的 AD 網域憑證來存取他的 hMailServer 電子郵件帳戶。

從 Active Directory 新增使用者

除了先建立使用者然後與 Active Directory 整合之外,還有一個選項可以直接從現有的 Active Directory 使用者物件在 hMailServer 中建立使用者。

從管理控制台中,右鍵點擊帳戶資料夾 -> 點擊新增 AD 帳戶

Adding AD Account to the Active Directory Box

接下來,從下拉清單中選擇網域。在此範例中只有一個可用的網域。然後,從使用者列表中選擇要為其建立電子郵件帳戶的使用者。點擊確定

Adding User to the Active Directory Box

如下方屏幕截圖所示,在 hMailServer 中已根據 Active Directory 使用者帳戶vmadmin建立了一個新的使用者。

Successfully Added Domain to the Active Directory

測試電子郵件客戶端設定和郵箱存取(未加密)

到目前為止,您所做的 hMailServer 配置已足夠用於內部和外部的電子郵件存取。

在此範例中,使用的特定電子郵件客戶端是Mozilla Thunderbird。您可以使用任何支援 IMAP、POP3 和 SMTP 配置的其他電子郵件客戶端。

以下是特定於此示例的郵件客戶端配置。請注意伺服器主機名、端口號和 SSL 值。

Email Client Configuration

從上面的截圖中可以看出,傳入和傳出郵件伺服器的SSL值為None。當您點擊完成時,您將收到一條警告消息,提示傳入和傳出設置未使用任何加密,如下圖所示。

Warning Message on Encryption

要繼續進行帳戶設置,勾選我了解風險框。然後點擊完成

帳戶設置完成後,下一個測試是向同一帳戶發送測試郵件,並確認郵件是否發送和接收成功。下面的截圖顯示測試郵件已傳遞。

Sending Email and Confirming Receipt of Email

使用 SSL 憑證保護客戶端連接

在前一節中,您已經看到目前的 hMailServer 設置並不包括 IMAP、POP3 和 SMTP 的客戶端連接加密。無需說明,為了安全和保護,您需要為郵件客戶端連接添加加密功能。

在本節中,您將學習如何添加 SSL 憑證進行身份驗證和加密,並將憑證分配給 POP3、IMAP 和 SMTP。

在您繼續之前,您必須擁有 PEM 格式的憑證文件和金鑰。在此示例中,憑證文件位於c:\certs

PEM Format Certificate File

導入 SSL 憑證

返回管理控制台,進入設置 -> 高級 -> SSL 憑證。預期憑證列表為空。點擊添加

Importing an SSL Certificate

接下來,請指定一個您想要用於識別證書的名稱。這可以是任何名稱,但建議使用證書的主題名稱。然後,提供證書文件私鑰文件的位置。點擊保存

Setting Up the Name, Location, and Private Key File

新的SSL證書將被添加到可供hMailServer使用的證書列表中。

Successfully Added SSL Certificate to the hMailServer Admin Window

現在,已經添加了SSL證書,您可以開始將其分配給協議端口。

將SSL證書分配給TCP/IP端口

進入添加以創建新的TCP/IP端口綁定。

TCP/IP Ports Folder

使用以下設置為IMAP創建新的條目。

  • 協議:IMAP
  • TCP/IP地址:0.0.0.0
  • TCP/IP端口:993
  • 連接安全性:SSL/TLS
  • SSL證書:從列表中選擇您的證書

新條目應該與下面的截圖類似。

Creating New Entry for IMAP

您可能會提示重啟hMailServer,請不要立即重啟,因為您還需要為POP3和SMTP創建條目。

現在,按照上面的相同步驟創建POP3 TCP/IP安全端口。

使用以下值創建新的POP3 TCP/IP端口。

  • 協議:POP3
  • TCP/IP地址:0.0.0.0
  • TCP/IP端口:995
  • 连接安全性:SSL/TLS
  • SSL证书:从列表中选择您的证书
New POP3 TCP/IP Port

最后,根据以下设置创建新的SMTP端口。

  • 协议:SMTP
  • TCP/IP地址:0.0.0.0
  • TCP/IP端口:465
  • 连接安全性:SSL/TLS
  • SSL证书:从列表中选择您的证书
New SMTP Port Settings

这次,在提示重新启动hMailServer时,点击

Restarting the hMailServer

您已成功创建了新的通过SSL证书保护的TCP/IP端口。您现在应该看到与下图类似的列表。

Successfully Created TCP/IP Ports

此时,您可以决定是否要删除旧的TCP/IP端口条目。

测试电子邮件客户端设置和邮箱访问(加密)

现在,在hMailServer中安装了SSL证书后,请返回到您的电子邮件客户端,并重新配置您的电子邮件帐户以使用以下设置,如下图所示。

请注意,端口和SSL的值已更改为您在前一部分创建的新的TCP/IP端口配置。下面是设置传入(IMAP)和传出(SMTP身份验证)的位置。

Port and SSL Values

配置完电子邮件帐户后,您应该能够使用新的IMAP和SMTP端口访问邮箱并发送/接收电子邮件。

此外,不再顯示有關傳入郵件伺服器和傳出郵件伺服器設置未加密的警告訊息。

在Hmailserver中配置SMTP智能主機進行外部郵件傳送

預設情況下,hMailServer使用DNS-MX查找來確定外部域的郵件應該發送到哪裡。這意味著如果您的網路/防火牆允許25號埠,hMailServer可以嘗試將外部訊息傳遞到預期的目的地。

這種預設設置對於一些組織可能已經足夠,但大多數組織使用的是周邊SMTP服務。周邊電子郵件伺服器可以是雲端托管或本地部署。這些周邊郵件服務大多數情況下還提供電子郵件衛生服務。

如果您擁有此類服務並且希望使用它們,您可以配置hMailServer將您的周邊郵件伺服器用作外部訊息的智能主機。

要為您的hMailServer配置SMTP轉發器或智能主機,請按照以下步驟進行。

在hMailServer管理控制台中,轉到設置 -> 協議 -> SMTP。然後,轉到傳送電子郵件選項卡。

接下來,輸入在您的公共DNS記錄中發布的hMailServer名稱。在此示例中,郵件伺服器的公共主機名稱為hmail1.lzex.cf

接下來,請使用您的SMTP智慧主機的值填寫SMTP轉發器設定。在這個例子中,hMailServer將被配置為使用SendGrid電子郵件傳遞服務作為智慧主機。

SMTP Relayer Service

請不要忘記在提供所需值後點擊保存

測試外部電子郵件傳遞

要測試SMTP智慧主機配置是否正常工作,最好的方法

確認SMTP智慧主機配置是否正常工作的最好方法是:

  • 發送一封電子郵件到外部域名(例如gmail.com),並確認郵件已傳遞。
  • 回覆該郵件並確認已接收到回覆。

在這個例子中,將從hMailServer用戶[email protected]發送一封郵件給gmail.com的收件人。

Sending Message from hMailServer to Gmail

從下面的電子郵件截圖可以看出,該郵件已由gmail.com的收件人接收到,並且回覆已傳回到hMailServer用戶郵箱。

Successfully Sent Message to Gmail

結論

恭喜您完成了這一篇,祝賀!

在本文中,您學習了建立成功的hMailServer郵件系統的基本要求。然後,您學習了如何在一台單獨的機器上安裝hMailServer。

您已閱讀了有關如何從頭開始或從現有的Active Directory帳戶配置hMailServer以擁有新的域和添加新用戶的逐步說明。此外,您還了解了加密和非加密的服務器連接之間的區別,以及如何使用SSL證書來保護POP3、SMTP和IMAP的TCP/IP端口。

您在這裡所學到的只是配置一個功能齊全的hMailServer郵件服務器的基礎知識。在本文中無法涵蓋的還有許多其他自定義和配置選項。

一些高級配置包括附加垃圾郵件過濾器、安裝Webmail服務器和腳本編寫。現在,您可以自行決定是否希望進一步學習hMailServer並提升您的技能。

進一步閱讀

Source:
https://adamtheautomator.com/hmailserver/