“邮件服务器”这个词几乎可以和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。

(可选)外部 DNS 将使用两个 DNS 记录。

- MX 记录将用于邮件传送,指向 hMailServer 的外部地址。

- 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 的安装过程相当简单。它是基于向导的安装类型,这意味着您只需点击按钮。
- 找到您下载的安装文件,然后启动它。然后,在欢迎页面上点击 下一步。
- 在 许可协议 页面,您必须接受条款。点击 下一步。
- 接下来,要么选择自定义路径,要么保留 hMailServer 将安装的默认路径。然后,点击 下一步。
- 您将看到两个选项: 完全安装 或 自定义。选择完全安装以安装服务器和管理工具。然后点击 下一步。
- 接下来,选择数据库服务器类型。在本文中,将使用内置数据库引擎。然后点击 下一步。
- 点击 下一步 在 选择开始菜单文件夹 页面,保持其默认值。
- 接下来,您需要为正在安装的hMailServer实例指定一个密码。确保记住这个密码。
- 您将看到所选安装选项的摘要。单击 安装 按钮开始安装过程。
- 等待安装完成,然后单击 完成。
- 在 连接 窗口上,选择hMailServer的实例,然后单击 连接。在提示时输入密码,然后单击 确定。

就是这样!您已成功安装了第一个hMailServer。

将域添加到Hmailserver
仅仅安装hMailServer还不足以使其可用。您仍然需要配置诸如域、用户、端口和中继设置之类的事物。
在您可以添加用户之前,您必须首先添加一个电子邮件域。这必须是您准备并计划用于您的电子邮件地址的电子邮件域。
要添加一个新域,在hMailServer管理员(管理控制台窗口)中,单击 域。您会注意到域列表为空 – 这是可以预期的。单击 添加。

接下来,在 域 框中键入您的域。确保 启用 复选框已被选中,然后单击 保存。
请注意,对于该域,还有更多可用的配置,比如消息大小限制和默认签名。如果您愿意,可以随意配置这些。

点击保存后,如下所示,新域已创建并添加到域列表中。

将用户添加到Hmailserver
现在域已添加,可以在该域下添加电子邮件帐户。
要添加新帐户,请单击域下的帐户文件夹。然后,单击右侧的添加按钮。

转到高级选项卡,并指定新用户的名和姓。

然后,转到常规选项卡,输入您正在创建的帐户的地址和密码。还建议为用户的邮箱设置一个最大大小。完成后,单击保存。

如下图所示,新电子邮件帐户已创建。

将用户与Active Directory集成
您可以修改现有用户或创建新用户并将它们与Active Directory连接起来。将hMailServer用户与Active Directory集成,可确保用户可以使用其域凭据登录其hMailServer帐户。
假设您已经创建了该帐户并希望将其与AD集成,请按照以下步骤进行操作。
首先,在hMailServer管理控制台中找到并编辑帐户。然后,转到Active Directory选项卡。
接下来,在活动目录帐户框中打勾。在域框中输入活动目录域,并在用户名框中输入用户名。编辑完成后,单击保存。

如上图所示,hMailServer用户具有相应的活动目录帐户。用户现在可以使用他的AD域凭据访问他的hMailServer电子邮件帐户。
从活动目录添加用户
除了创建用户然后将其与活动目录集成外,还有一种选择,即直接从现有的活动目录用户对象中在hMailServer中创建用户。
从管理员控制台中,右键单击帐户文件夹—> 单击添加AD帐户。

接下来,从下拉列表中选择域。在本示例中,只有一个可用的域。然后,从用户列表中选择要为其创建电子邮件帐户的用户。单击确定。

如下面的截图所示,已根据活动目录用户帐户vmadmin在hMailServer中创建了一个新用户。

测试电子邮件客户端设置和邮箱访问(未加密)
到目前为止,您已完成的hMailServer配置足以用于内部和外部电子邮件访问。
在此示例中,正在使用的特定电子邮件客户端是Mozilla Thunderbird。请随意使用支持IMAP、POP3和SMTP配置的任何其他电子邮件客户端。
以下是本示例的邮件客户端配置。注意服务器主机名、端口号和SSL值。

从上面的截图可以看出,传入和传出邮件服务器的SSL值为None。单击完成后,您将收到一个警告消息,说明传入和传出设置未使用任何加密,如下图所示。

要继续设置帐户,请勾选我了解风险复选框。然后点击完成。
完成帐户设置后,下一步测试是向同一帐户发送测试邮件,并确认邮件已发送和接收。下面的截图显示测试邮件已送达。

使用SSL证书保护客户端连接
在前面的部分中,您已经看到当前的hMailServer设置到目前为止不包括对IMAP、POP3和SMTP中客户端连接的加密。毫无疑问,添加加密以保护邮件客户端连接的安全性和保护是非常重要的。
在本节中,您将学习如何添加SSL证书进行身份验证和加密,并将证书分配给POP3、IMAP和SMTP。
在继续之前,您必须有PEM格式的证书文件和密钥可用。在本示例中,证书文件位于c:\certs。

导入SSL证书
回到管理控制台,转到设置 —> 高级 —> SSL证书。预计证书列表为空。点击添加。

接下来,请指定一个名称,用于标识您的证书。这可以是任何名称,但建议使用证书的主题名称。然后,提供证书文件和私钥文件的位置。点击保存

新的SSL证书将添加到可供hMailServer使用的证书列表中。

现在,SSL证书已添加,您可以开始将其分配给协议端口。
将SSL证书分配给TCP/IP端口
转到TCP/IP端口文件夹。您应该看到已配置的端口列表。单击添加以创建新的TCP/IP端口绑定。

使用以下设置为IMAP创建一个新条目。
- 协议:IMAP
- TCP/IP地址:0.0.0.0
- TCP/IP端口:993
- 连接安全性:SSL/TLS
- SSL证书:从列表中选择您的证书
新条目应该类似于下面截图中显示的内容。

您可能会收到提示要求重新启动hMailServer,但请不要立即重新启动,因为您还将创建POP3和SMTP的条目。
现在,按照上述相同的步骤创建POP3 TCP/IP安全端口。
使用以下值为新的POP3 TCP/IP端口创建条目。
- 协议:POP3
- TCP/IP地址:0.0.0.0
- TCP/IP端口:995
- 连接安全性:SSL/TLS
- SSL证书:从列表中选择您的证书

最后,使用以下设置创建新的SMTP端口。
- 协议:SMTP
- TCP/IP地址:0.0.0.0
- TCP/IP端口:465
- 连接安全性:SSL/TLS
- SSL证书:从列表中选择您的证书

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

您已成功创建了新的TCP/IP端口,并使用SSL证书进行了保护。您现在应该看到类似以下截图的列表。

此时,您可以决定是否要删除旧的TCP/IP端口条目。
测试电子邮件客户端设置和邮箱访问(加密)
现在,在hMailServer中安装了SSL证书后,返回您的电子邮件客户端,并重新配置您的电子邮件账户,以使用以下设置,如下截图所示。
请注意端口和SSL值已更改为您在上一节中创建的新的TCP/IP端口配置。下面是您将设置传入(IMAP)和传出(SMTP认证)邮件的地方。

配置完电子邮件账户后,您应该能够访问邮箱,并使用新的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智能主机配置是否正常工作,最佳方法为
确认SMTP智能主机配置是否正常工作的最佳方法是:
- 向外部域(例如gmail.com)发送电子邮件,并确认消息已投递。
- 回复该电子邮件并确认已收到回复。
在这个示例中,将从hMailServer用户[email protected]发送一条消息给gmail.com收件人。

从以下电子邮件截图中可以看到,消息已被gmail.com收件人接收,并且回复已成功发送到hMailServer用户邮箱。

结论
恭喜你,你已经完成了!
在本文中,你已经了解了构建成功的hMailServer电子邮件系统的基本要求。然后,你学会了如何在单台计算机上安装hMailServer。
你已经看过了如何逐步配置hMailServer以拥有新域并从头或从现有的Active Directory帐户中添加新用户的说明。此外,你已经了解了加密和未加密服务器连接之间的区别,以及如何使用SSL证书来保护POP3、SMTP和IMAP的TCP/IP端口。
你在这里学到的只是配置功能性hMailServer邮件服务器的基础知识。还有许多其他定制和配置可以通过hMailServer完成,这些在本文中无法涵盖。
一些高级配置包括附加垃圾邮件过滤器、安装Web邮件服务器和脚本编写。现在轮到你决定是否想要继续学习hMailServer并提升你的技能了。