hMailServer 邮件服务穿透

注意

由于 此原因,穿透邮件服务仅可用于发信,不能使用 POP3 收信。

因此,仅适用于 网站邮箱验证 等使用环境。

如果您穿透的邮件服务 不需要外网访问,那么穿透它 并没有实际意义,仅在您的邮件服务需要配置 SSL 证书时才是必须的。

准备事项

安装 hMailServer

若要使用 SakuraFrp 搭建邮件服务器,那么首先需要有本地的邮件服务端。

以下是一些常用的邮件服务端及下载方式:

名称操作系统官网下载官方文档
hMailServerWindows访问在新窗口打开官网下载在新窗口打开查看在新窗口打开
iRedMailLinux 或 Free/OpenBSD访问在新窗口打开官网下载在新窗口打开查看在新窗口打开

此教程使用 hMailServer 作演示。如您有使用其他邮件服务端的经验,欢迎补充。

安装测试客户端

请在 这里在新窗口打开 下载 FoxMail。

安装后,请先不要登录或添加邮件。添加邮件需要在配置邮件服务器后进行。

使用 hMailServer 搭建邮件服务器

安装 hMailServer

安装时,通常一路 Next 即可。但有两个界面需要注意:

  1. 选择数据库类型时,请选择 Built-In 模式。
  2. 设置密码用于给管理软件连接服务端,因此请务必牢记密码。

使用管理软件连接 hMailServer

在 hMailServer 安装完成后,请打开附带的 hMailServer Administrator 管理软件。

此时将显示默认的主机名 localhost。选中它,并点击右下角的 Connect 以连接。

连接时需要输入密码。我的密码是什么?

连接后,将进入如下图所示的主页。

hMailServer 不自带中文,因此已写出对于菜单的部分简体中文翻译。标红的项为稍后需要用到的。

配置 hMailServer

设置邮件域名

请点击欢迎页右侧的 Add domain... 来添加邮件域名。

随后,按下图提示输入您的邮件域名。

设置邮件账号

请依次点击菜单栏中的 Domains %YourDomain% Accounts,进入邮件账号设置界面。

随后,点击右侧的 Add 以添加邮件账号。

如图设置完成后,请点击右下角 Save 以保存。

设置 SSL 证书

大部分常用邮件系统 (如网易邮箱、QQ 邮箱) 通常都会要求发件方使用 SSL 等方式验证身份。

请在 SSL 服务商在新窗口打开 处为您的邮件域名申请 SSL 证书,并下载如下文件 (yourdomain 仅作示例):

  1. yourdomain.crt 证书文件
  2. yourdomain.key 私钥文件

随后,依次点击 hMailServer 主菜单中的 Settings Advanced SSL certificates,以配置 SSL 证书。

进入 SSL 证书设置界面 后,请点击右上角的 Add,并在添加证书界面中填写如下信息:

  1. Name: 证书的名称。类似于备注,可以自定义填写。
  2. Certificate file: 证书的 crt 文件。请点击右侧 ... 按钮,选中相应的文件。
  3. Private key file: 证书的 key 文件。请点击右侧 ... 按钮,选中相应的文件。

设置完成后,点击右下角 Save 以保存。

设置端口

除非系统有其他服务正在占用默认端口,否则请保留默认。 此章节仅用于将 SSL 证书在相应端口和协议中启用。

依次点击 hMailServer 主菜单中的 Settings Advanced TCP/IP ports 0.0.0.0 / 25 / SMTP

随后点击右下角 Save 以保存。

注意

保存时会提示 "需要重启以生效",因此请在 确认可重启 hMailServer 后再点击确定。

随后,您也可以在左侧菜单找到 POP3 的页面进行设置,方法同上。

隧道配置

虽然仅 SMTP 穿透有效,但由于 邮件客户端 通常需要同时连接 POP3 (收件) 和 SMTP (发件) 端口,因此需要两个隧道。

对应协议节点隧道类型本地端口(默认)远程端口本地 IP其他配置项
SMTP任意TCP25任意hMailServer 运行的 IP 地址保留默认值或留空
POP3任意TCP110任意hMailServer 运行的 IP 地址保留默认值或留空

设置域名解析

不同于其他服务,邮件服务有专用的 MX 解析类型。

主机记录记录类型记录值其他配置项
自定义MX节点域名无特殊需求请保留默认

示例: 邮件地址为 [email protected],那么 主机记录 应填写 @。 邮件地址为 [email protected],那么 主机记录 应填写 your

请按上表信息添加解析记录。您也可以参考下方的图片。

与此同时,也应添加一个 主机记录相同A 记录,指向节点 IP 地址。

主机记录记录类型记录值其他配置项
自定义A节点 IP 地址无特殊需求请保留默认

各参数设置方法同上。

您可以通过 ping查看隧道启动日志 来查看节点 IP 地址。

测试邮件系统

搭建邮件服务器基本已经完成。接下来,需要测试邮件系统是否可正常发信。

此处使用 前文 安装的 FoxMail 作演示。您也可以使用其他可添加第三方邮箱的客户端。

添加邮件账号

请打开 FoxMail,并添加 其他邮箱,随后在相应页面选择 手动配置

请按上图设置各项参数,随后点击 创建

不出意外的话,此时将创建成功,并进入 FoxMail 主界面

发信测试

在 Foxmail 主页左侧选中相应的邮箱账号,随后点击顶部的 写邮件

各参数填写内容:

  • 收件人: 外部常用邮件系统的邮箱地址,例如 QQ 邮箱。
  • 主题和正文: 自定义

填写完成后,发送此邮件,并在其他客户端中登录相应的收件邮箱,检查是否可以正常发信。

常见应用接入 hMailServer

Web 程序

xenForo

这里以最新的 xenForo 作演示。

进入 管理后台,依次进入如下路径: 设置 > 选项 > 邮件系统选项

接下来,请按下图设置邮件账号,完成后保存。

随后,在下方找到 邮件传输方式 设置项,连接类型选择 SMTP,并按下图配置。

最后,点击 保存 以应用设置。

您可以通过 注册账号 等方式,来验证邮件系统是否正常。

其他程序

STFW。

POP3 穿透说明

POP3 不同于 SMTP 的发信,它是收信时的常用协议。

其他用户在向 您的邮箱 发送邮件时,设置了地址: [email protected]

同时,邮局间的交换使用 SMTP,example.com 而对应的 MX 解析记录类型无法设置端口。

而 SakuraFrp 并不支持将 远程端口 设为 25 995 等低位端口,因此无法直接穿透 POP3。

关于 无法穿透超出范围端口 的原因,见此页