Offline installation guide

Debian 邮件系统安装教程

Debian 12 / 13 环境下部署宝塔面板、斑马邮箱管理程序与 hMailServer 邮件服务。

Debian 12 / 13Windows Server 2016 / 2019 / 2022 / 2025宝塔面板PHP MariaDBhMailServer 6.3
第一阶段 · 服务器环境安装宝塔面板、网站服务、PHP 与数据库。
第二阶段 · 邮件服务安装 hMailServer 6.3.8,初始化数据库并启用 REST API。
第三阶段 · 管理后台上传斑马邮箱程序,配置数据库、网站并完成首次登录。
01

系统选择与依赖安装

Linux Debian 系统 + 宝塔 Linux 面板 + Nginx + PHP + MySQL 兼容数据库 + hMailServer 6.3.8。

1.1 系统选择

其他 Linux 系统的安装命令可能存在差异,请根据实际系统自行查阅对应官方文档。

1.2 检查运行软件并安装基础工具

请使用 root 账户在宝塔终端或 SSH 终端执行。本教程面向 Debian 12 / 13,软件安装使用 Debian 自带的 apt-get;其他步骤尽量采用常见 Linux Shell、coreutils、sudo 和 systemd 命令。

一次执行基础工具安装,并在安装完成后检查 curl 是否可用:

安装基础工具并检查 curl
apt-get update && apt-get install -y curl sudo ca-certificates libmariadb3 iproute2 && command -v curl
正确返回示例(点击展开)
正确返回示例 · 工具安装完成
/usr/bin/curl
最后输出 curl 的可执行文件路径,表示检查通过。若 apt-get 报错,请先处理软件源或网络问题,再继续后续步骤。

1.3 安装宝塔面板

本教程统一使用宝塔官方稳定版安装脚本。Debian 12 和 Debian 13 均使用同一条安装命令,不区分系统版本。第 1.2 步已安装 curl,直接使用 curl 下载并执行安装脚本。

宝塔官方稳定版安装命令
curl -fL --retry 3 --connect-timeout 15 -o installStable_12.sh https://download.bt.cn/install/installStable_12.sh && bash installStable_12.sh 3Tmtilpm

安装完成后,如需查看宝塔面板登录信息,可执行:

查看宝塔面板信息
bt default
正确返回示例(点击展开)
正确返回示例 · 显示当前面板信息
外网面板地址: http://服务器公网IP:面板端口/安全入口
内网面板地址: http://服务器内网IP:面板端口/安全入口
username: 安装时生成的用户名
password: 安装时生成的密码
地址、端口、安全入口和账号密码以当前服务器实际输出为准;这里只展示字段示意。请勿公开真实登录信息。

调出宝塔综合查询操作面板:

宝塔命令行菜单
bt
正确返回示例(点击展开)
正确返回示例 · 显示宝塔命令行菜单
宝塔面板命令行管理菜单
……
请选择要执行的功能:
这是交互式菜单,不是固定的一行返回值;菜单选项会随宝塔版本变化。出现菜单和选择提示即表示命令已正常调起。

1.4 放行防火墙

根据实际部署情况,在服务器防火墙或云厂商控制台放行以下端口:

端口用途
宝塔面板入口安装后会随机生成端口号
80、443网站 HTTP / HTTPS
25、465、587SMTP 邮件收发与客户端提交
110、143、993、995POP3 / IMAP 邮件接收

腾讯云检查「防火墙」规则,阿里云检查「安全组」规则。

如果服务器厂商提供端口放行或拦截功能,可以按实际情况关闭宝塔的防火墙;如果服务器厂商不提供端口放行或拦截功能,则开启宝塔防火墙,并放行上面列出的端口。

1.5 域名解析

在域名服务商的 DNS 管理页面,增加以下解析记录:

主机记录记录类型记录值说明
mailA服务器 IP邮件服务域名
@MXmail.你的域名主域名收信服务器
*A服务器 IP可省略

如果要使用子域名作为邮箱后缀,还需要增加对应的解析记录:

子域名邮箱解析
前缀    A    服务器 IP

1.6 安装网站运行环境

进入宝塔面板 → 软件商店,安装以下运行环境:

软件要求 / 建议
Nginx安装 Nginx
MySQL 兼容数据库建议使用 MariaDB 10.4 或 MariaDB 11.8
PHPPHP 8.2 以上版本(新部署优先 8.3、8.4 或 8.5)
PHP 安全版本提示:PHP 8.2.35、8.3.36、8.4.27、8.5.12 分别修复 CVE-2026-109618 和 CVE-2026-109619;对应分支低于这些版本的版本受影响。PHP 8.1 及更早版本已结束常规上游安全更新;PHP 项目仅为部分旧分支提供最小源码回补,不属于常规维护版本。若 Linux 发行版或软件供应商提供回补包,请以其公告和具体构建版本为准。PHP 8.2 将于 2026-12-31 结束安全支持,新部署建议优先选择 PHP 8.3、8.4 或 8.5 的安全更新版本。 查看 PHP 官方安全公告。
宝塔软件商店中已安装的 Nginx、MySQL MariaDB 兼容数据库和 PHP。
宝塔软件商店中查看网站运行环境,确认 Nginx、MySQL MariaDB 兼容数据库和 PHP 已安装。

1.7 安装启用 PHP 拓展

PHP 8.2 以上版本(新部署优先 8.3、8.4 或 8.5)大部分拓展已经安装,可能需要手动修改 PHP 配置文件启用。打开 PHP 设置中的配置文件,检查以下拓展是否启用:

PHP 拓展配置
extension=openssl
extension=mbstring
extension=pdo_mysql
extension=sodium
extension=zip
extension=curl

如果对应配置行前面存在分号 ;,删除分号即可启用。修改后重启 PHP。

宝塔 PHP 管理页面中打开配置文件的入口。
在对应 PHP 版本的管理页面中点击「配置文件」,检查 php.ini 中的拓展配置。
宝塔 PHP 管理页面中的重启按钮。
修改 PHP 配置后,返回 PHP 管理页面点击「重启」,使拓展配置生效。

1.8 创建空数据库

进入宝塔面板 → 数据库 → 添加数据库,创建一个全新的空数据库。

项目填写内容
数据库名称hmailserver
数据库用户名hmailserver
数据库密码随机数据库密码
访问权限本地服务器
重要:请创建全新的空数据库,不要导入已有数据。后续由 hMailServer 执行数据库初始化。PHP 后台与 hMailServer 使用同一个数据库账号和密码,请保存好随机生成的数据库密码。
宝塔添加数据库窗口,数据库名和用户名为 hmailserver,访问权限选择本地服务器。
添加空数据库:数据库名称和用户名填写 hmailserver,访问权限选择「本地服务器」,并设置随机数据库密码。
02

安装 hMailServer 6.3.8

在 Debian 12 / 13 上安装 hMailServer 6.3.8,配置 MariaDB、服务和 REST API。

以下终端输出均为正常成功时的关键返回示例,不是完整安装日志。apt、curl、宝塔安装脚本和 systemd 的具体输出会随系统版本、网络和是否已安装而变化;以无错误结束、退出码 0,以及对应的检查结果为准。

2.1 检查系统架构

可在宝塔终端或 SSH 终端中执行,确认服务器 CPU 架构。

检查 CPU 架构(Linux 通用)
uname -m
正确返回示例(点击展开)
正确返回示例 · x86-64 架构
x86_64
版本与架构限制:hMailServer 6.3.8 为 Debian 12 和 Debian 13 分别提供了专用安装包。本教程下面按 Debian 12 / Debian 13 的 x86-64(amd64)分别给出命令。必须下载与系统版本匹配的包,不要混用 Debian 12、Debian 13 或通用版安装包。

2.2 下载并安装 hMailServer

以下命令适用于 hMailServer 6.3.8,使用 root 权限执行。请在下拉框中选择服务器实际安装的 Debian 版本,页面只显示对应安装包和命令。

下载和安装所需的 curl、ca-certificates、libmariadb3 等基础依赖已在第 1.2 步一次安装完成,此处不再重复执行安装命令。
Debian 13:使用 Debian 13 专用安装包,不能与上面的 Debian 12 安装包混用。

Debian 13 x86-64(amd64)

下载、校验并安装 Debian 13 软件包
curl -fL --retry 3 --connect-timeout 15 -o hmailserver_6.3.8-1~debian13_amd64.deb https://www.progressiverobot.com/hmailserver/Hmail-server/6.3.8/hmailserver_6.3.8-1~debian13_amd64.deb && \
echo 'f36cbfb856f7f6a33bc1b7459d01b015d1cdc1905208c308f1f48223d84245c1  hmailserver_6.3.8-1~debian13_amd64.deb' | sha256sum -c - && \
apt-get install -y ./hmailserver_6.3.8-1~debian13_amd64.deb
正确返回示例(点击展开)
正确返回示例 · 下载、校验和安装完成
curl 下载进度完成(100%)
...
hmailserver_6.3.8-1~debian13_amd64.deb: OK
...
Unpacking hmailserver (...) ...
Setting up hmailserver (...) ...
三条命令通过 && 按顺序执行:下载成功后校验 SHA-256,校验显示 OK 后才安装。任何一步失败,后续步骤都会停止。安装包会创建 hmailserver 系统用户、目录和 systemd 单元。

官方版本与校验值来源:hMailServer 6.3.8 下载与校验页面。本节命令针对 x86-64(amd64);如果 uname -m 输出 aarch64,请下载对应 Debian 版本的 ARM64(arm64)软件包,不要执行这里的 amd64 命令。

2.3 配置 MariaDB 连接

编辑 hMailServer 数据库配置文件:

配置文件路径
/etc/hmailserver/hMailServer.ini

找到 [Database] 配置段,按下面内容填写。数据库密码必须与第 1.8 步创建的 MariaDB 用户密码一致:

hMailServer.ini · Database 配置段
[Database]
Type=MySQL
Server=127.0.0.1
Database=hmailserver
Username=hmailserver
Password=数据库密码
Passwordencryption=0
Port=3306
Internal=0
宝塔文件管理器中打开 /etc/hmailserver/hMailServer.ini,显示 MariaDB 的 [Database] 配置段。
编辑 /etc/hmailserver/hMailServer.ini,在 [Database] 配置段填写 MariaDB 连接信息。
安全提醒:配置文件中包含数据库连接密码,请限制该文件的读取权限,并避免将真实密码写入公开截图、代码仓库或教程分享文件。

2.4 检查配置文件并初始化数据库

先读取配置报告,并确认输出中的 Database type: 1(表示 Type=MySQL,兼容 MariaDB);再实际测试数据库连接,最后初始化数据库。注意:--check-config 只输出配置报告,本身始终返回退出码 0,并不会替你判断配置是否正确,因此命令额外用 grep 检查数据库类型,类型不正确就停止。

检查配置、测试 MariaDB 连接并初始化数据库
config_output=$(sudo -u hmailserver -- hmailserver --check-config) && \
printf '%s\n' "$config_output" && \
printf '%s\n' "$config_output" | grep -Eq '^Database type:[[:space:]]*1[[:space:]]*$' && \
sudo -u hmailserver -- hmailserver --check-database && \
sudo -u hmailserver -- hmailserver --create-database
配置文件检查成功示例(点击展开)
正确返回示例 · 配置文件读取正常
Configuration file: /etc/hmailserver/hMailServer.ini
Program directory:  /usr/share/hmailserver/
Data directory:     /var/lib/hmailserver
Log directory:      /var/log/hmailserver
Database type:      1
必须看到 Database type: 1,表示 Type=MySQL(MariaDB 兼容)。如果显示 Database type: 0 或没有这一行,命令会停止,不会继续测试连接或初始化数据库;请检查 /etc/hmailserver/hMailServer.ini 的 [Database] 配置段。
MariaDB 连接成功示例(点击展开)
正确返回示例 · 数据库连接成功
Configuration: /etc/hmailserver/hMailServer.ini
Database: MySQL/MariaDB on 127.0.0.1:3306, database hmailserver, as hmailserver
Connected.
必须看到 Connected.,表示 MariaDB 实际连接成功。--check-database 退出码 0 表示连接成功、1 表示连接失败、2 表示数据库配置不完整;只有连接成功才会继续执行数据库初始化。
数据库初始化成功示例(点击展开)
正确返回示例 · 数据库结构创建成功(MySQL / MariaDB)
Database hmailserver created on MySQL at schema version 6108, from
/usr/share/hmailserver/DBScripts/CreateTablesMySQL.sql.
hMailServer 6.3.8 的数据库结构版本为 6108。实际输出可能随版本略有不同,命令成功完成且退出码为 0 即表示初始化成功。
重要:数据库初始化只对刚创建的空数据库执行一次。如果数据库中已有表或业务数据,不要重复执行初始化命令。

2.5 设置 hMailServer 管理员密码

默认使用 123456。

若使用其他密码,需要修改 宝塔目录/wwwroot/mail_admin/config/hmailserver_api.php 配置文件中的 hMailServer 管理员密码配置项,确保与实际设置的密码一致。

设置 hMailServer 管理员密码,执行以下命令后按终端提示输入:

设置管理密码
hmailserver --set-admin-password
正确返回示例(点击展开)
正确返回示例 · 管理员密码设置成功
(输入密码时终端不显示字符)
命令完成后返回 shell 提示符。

紧接着执行:echo $?
0
必须在 root 终端执行;按前文选定的管理员密码输入。成功时通常没有固定的成功提示文字,退出码 0 表示写入成功;空密码会提示 No password was given; nothing was changed 并返回非 0。
  • 这是 hMailServer 管理后台的密码。
  • 它不是 MariaDB 数据库密码,也不是斑马邮箱 PHP 后台密码。
  • 终端输入密码时通常不会显示字符。
  • 本教程默认使用 123456;如果改用其他密码,必须同步修改 PHP 后台 API 配置文件中的对应密码。
  • 默认密码的使用前提是 REST API 只监听 127.0.0.1:8045,仅供本机 PHP 管理后台调用;不得将监听地址改为 0.0.0.0 或公网 IP。
  • 必须保持 TCP 8045 的公网入站访问关闭:不要在 Debian 防火墙、宝塔防火墙、云安全组或服务器厂商防火墙中添加 8045 放行规则。不开放公网 8045 不影响本机通过 127.0.0.1 调用 API。
  • 如果服务器上运行其他不可信本地程序,仍建议将管理员密码改为独立强密码。

2.6 启动 hMailServer 服务

请在 root 终端执行,设置开机自动启动、立即启动服务,并检查运行状态:

启用开机启动并启动服务
systemctl enable --now hmailserver && systemctl is-active hmailserver && systemctl --no-pager --full status hmailserver && ss -lntp | grep hmailserver
正确返回示例(点击展开)
正确返回示例 · 服务正在运行
Created symlink .../multi-user.target.wants/hmailserver.service → .../hmailserver.service.
active
● hmailserver.service - hMailServer, a mail server for SMTP, IMAP and POP3
     Loaded: loaded (.../hmailserver.service; enabled; preset: enabled)
     Active: active (running) since ...
重点确认出现 active 和 Active: active (running)。如果安装包已启用服务,可能不会再次显示 Created symlink;这属于正常情况。

以上命令还会检查 hMailServer 当前监听的 TCP 端口。若没有 LISTEN 输出,请先检查服务状态和日志。

正确返回示例 · 邮件端口监听(点击展开)
LISTEN 0 4096 0.0.0.0:25   0.0.0.0:* users:(("hmailserver",pid=1234,fd=20))
LISTEN 0 4096 0.0.0.0:587  0.0.0.0:* users:(("hmailserver",pid=1234,fd=21))
LISTEN 0 4096 0.0.0.0:110  0.0.0.0:* users:(("hmailserver",pid=1234,fd=22))
LISTEN 0 4096 0.0.0.0:143  0.0.0.0:* users:(("hmailserver",pid=1234,fd=23))
端口、PID、fd 和 IPv4/IPv6 展示形式会因配置而不同。

2.7 启用 REST API

请在 root 终端执行,将 REST API 设置为仅本机访问的 8045 端口,然后重启服务并检查端口监听:

配置 REST API 并重启服务
hmailserver --set-setting RestApiPort=8045 && \
hmailserver --set-setting RestApiBindAddress=127.0.0.1 && \
systemctl restart hmailserver && \
systemctl is-active hmailserver && \
ss -lntp | grep ':8045'
正确返回示例(点击展开)
正确返回示例 · REST API 已绑定本机并监听 8045
active
LISTEN 0 4096 127.0.0.1:8045 0.0.0.0:* users:(("hmailserver",pid=1234,fd=30))
确认监听地址为 127.0.0.1:8045。命令使用 && 串联,设置、重启或状态检查任一步失败,后续步骤都会停止。若没有监听输出,请检查服务日志。
防火墙要求:REST API 仅供本机 PHP 调用。保持 TCP 8045 的公网入站访问关闭,不要在 Debian 防火墙、宝塔防火墙、云安全组或服务器厂商防火墙中放行 8045;也不要把绑定地址改为 0.0.0.0 或公网 IP。本机通过 127.0.0.1:8045 调用不需要开放公网端口。

如果命令未正常完成,请检查服务状态与日志:

查看服务日志(排错时使用)
journalctl -u hmailserver -n 100 --no-pager

部署核对

检查项核对内容
系统版本与架构Linux 使用对应 Debian 12 / 13 软件包;Windows 使用 Windows Server 2016+ x64 安装包。
数据库PHP 后台与 hMailServer 使用同一个 hmailserver 数据库,并确认账号密码一致。
管理员密码斑马邮箱后台密码在首次登录后修改;hMailServer 管理员密码按本教程要求设置为 123456,并限制管理接口访问范围。
数据库初始化已对新建的空数据库执行 hMailServer 初始化,并完成后台字段补齐。
REST APILinux 与 Windows 均只绑定 127.0.0.1:8045,供本机 PHP 调用;公网防火墙和云安全组不得放行 TCP 8045。
敏感配置限制 hMailServer.ini 和 PHP 数据库配置文件的读取权限。
03

安装配置斑马邮箱程序

上传程序、配置数据库与 hMailServer 连接,创建 Nginx 站点并完成后台初始化。

3.1 上传程序并解压

解压后的目录结构示意
wwwroot/
└── mail_admin/
    ├── config/
    │   └── database.php
    └── public/
        └── index.php

以上为关键目录结构示意,其他程序文件和目录以实际压缩包内容为准。

3.2 配置数据库连接信息

数据库配置文件路径
宝塔目录/wwwroot/mail_admin/config/database.php

按实际环境填写数据库地址、数据库名称、用户名和密码。数据库名称与用户名均为 hmailserver,密码使用创建数据库时设置的密码。

安全提醒:不要将真实数据库密码截图公开或提交到公开代码仓库;请限制配置文件的读取权限。

3.3 添加站点

进入宝塔面板 → 网站 → 添加站点,填写准备使用的域名。

网站域名请使用第 1.5 步中配置的 mail 记录;确认 DNS 解析已添加后,再继续创建站点。

网站目录
宝塔目录/wwwroot/mail_admin
网站运行目录
宝塔目录/wwwroot/mail_admin/public
网站运行目录必须指向程序的 public 目录,不要直接指向 wwwroot 或 mail_admin,避免将非公开配置文件暴露给 Web 访问。
宝塔添加站点窗口,域名填写邮箱域名,网站根目录指向 mail_admin。
添加站点时填写邮箱域名,网站根目录选择 mail_admin,并选择已安装的 PHP 版本。
宝塔站点目录设置,网站目录为 mail_admin,运行目录为 public,防跨站攻击已开启。
站点设置中确认网站目录为 mail_admin、运行目录为 /public,并按教程开启防跨站攻击。访问日志设置按服务器所在地适用要求处理。

3.4 Nginx 伪静态设置

进入宝塔面板 → 网站 → 对应站点 → 设置 → 伪静态,将以下规则粘贴到伪静态规则编辑框中。保存后检查配置并重启 Nginx。

Nginx 伪静态规则
location ~ ^/(admin|web|webmail|hmailadmin)/index$ {
    return 301 /$1/$is_args$args;
}
location ~ ^/(admin|web|webmail|hmailadmin)/(?!index\.html$)(.+)\.html$ {
    return 301 /$1/$2$is_args$args;
}
location / {
    try_files $uri $uri.html $uri/ @thinkphp;
}
location @thinkphp {
    rewrite ^/(.*)$ /index.php?s=/$1 last;
}
宝塔网站伪静态页面,正在填写 Nginx 伪静态规则。
在站点设置的「伪静态」页面粘贴本节提供的 Nginx 规则,保存后重启 Nginx。

3.5 系统运行状态与环境诊断

使用浏览器打开以下地址:

系统检查页面
你的域名/check

检查数据库连接和 PHP 扩展是否正常:

  • 数据库连接异常:检查第 3.2 步数据库配置,以及第 2.3 步 hMailServer 数据库配置。
  • PHP 扩展异常:检查第 1.7 步 PHP 扩展是否已启用,并确认修改后已重启 PHP。

3.6 首次登录斑马邮箱管理后台

网站和数据库配置完成后,使用浏览器打开绑定的域名:

管理后台地址
你的域名/admin
项目初始值
管理员账户admin
初始密码123456
安全要求:初始密码只用于首次登录。登录后立即修改管理员密码,不要在正式环境中继续使用默认密码。

3.7 修改管理员账户密码

3.8 关闭系统检查

确认网站、数据库和 PHP 环境均运行正常后,为减少公开的系统诊断信息,可在管理后台关闭系统检查:

后台操作路径
系统管理 → 邮箱与系统设置 → 系统检查(关闭)
04

hMailServer 配置修改

切换到邮局管理,调整登录失败保护和邮件服务器端口,最后重启 hMailServer 服务。

4.0 切换到邮局管理

打开斑马邮箱管理程序,切换到「邮局管理」模块,进入 hMailServer 相关设置。

斑马邮箱管理后台顶部的邮局服务管理切换入口。
在斑马邮箱管理后台点击顶部「邮局服务管理」,进入 hMailServer 相关设置。

4.1 关闭登录失败后自动封禁

进入以下设置位置:

后台操作路径
设置与运维 → 系统设置 → 服务器
hMailServer 服务器设置页面,登录失败后自动封禁复选框取消选中。
进入「设置与运维 → 系统设置 → 服务器」,取消勾选「登录失败后自动封禁」,然后保存服务器设置。

4.2 在服务器端口中添加 465、587、993、995

进入「服务器端口」设置,检查以下端口是否已经存在;已存在且配置正确时,不需要重复添加。

端口协议安全方式用途
465SMTPSSL/TLS邮件客户端加密提交发送
587SMTPSTARTTLS邮件客户端提交发送
993IMAPSSL/TLS加密收取与同步邮件
995POP3SSL/TLS加密下载邮件
使用 SSL/TLS 的端口需要选择有效证书;正式对公网服务建议配置与邮件域名匹配、由受信任 CA 签发的证书。公网端口还需要在第 1.4 步的防火墙中放行。
hMailServer 新增 SMTP 服务端口配置,端口为 465,连接安全为 TLS。
配置 SMTP 465 端口,连接安全选择 TLS,填写服务器地址并保存。
hMailServer 新增 IMAP 服务端口配置,端口为 993,连接安全为 TLS。
配置 IMAP 993 端口,连接安全选择 TLS,填写服务器地址并保存。
hMailServer 新增 POP3 服务端口配置,端口为 995,连接安全为 TLS。
配置 POP3 995 端口,连接安全选择 TLS,填写服务器地址并保存。
hMailServer 服务器端口列表,包含 SMTP 465 和 587、IMAP 993、POP3 995,并显示立即重启服务按钮。
检查服务器端口列表,确认 SMTP 465、587,IMAP 993 和 POP3 995 均已添加;587 使用 STARTTLS。确认后点击「立即重启服务」。

4.3 重启服务器

请在 root 终端执行;端口和服务器设置保存后,重启 hMailServer 服务并检查状态:

重启并检查 hMailServer 服务
systemctl restart hmailserver && systemctl is-active hmailserver
正常情况下返回 active。如果返回 failed 或 inactive,请检查服务状态和日志。
05

故障排查

根据故障现象检查对应的安装和配置步骤。

故障现象优先检查步骤
1. 网站无法正常打开1.3、1.4、1.5、1.6、2.3、3.4、3.5
2. 无法正常收到邮件1.4、1.5、2.1、2.2、2.3、2.6、4.2、4.3
3. 邮箱用户端多次登录失败后无法登录4.1、4.3
4. 切换至邮局服务管理后状态显示「未连接」重点检查 2.7(REST API 8045)、2.3(hMailServer 数据库配置)和 4.3(服务状态)。
WIN

Windows 系统部署

Windows Server + 宝塔 Windows 面板 + Apache + PHP + MySQL 兼容数据库 + hMailServer 6.3.8。

本章节按照 Windows 教程文件整理,包含服务器准备、hMailServer 安装、斑马邮箱配置、邮件服务端口设置和故障排查。图片可点击放大查看。
WINDOWS · 01

系统选择与依赖安装

选择 Windows Server,安装宝塔 Windows 面板,配置防火墙、域名解析、Apache、数据库和 PHP 环境。

1.1 系统选择

hMailServer 6.3.8 的 Windows 版本要求 Windows Server 2016 或更新版本,且仅支持 x64。Windows Server 2012 不在支持范围内。建议部署前确认系统已完成更新,并记录服务器登录信息。查看 hMailServer 6.3.8 官方系统要求。

1.2 安装宝塔 Windows 面板

使用宝塔安装程序提供的登录信息进入面板后台。后续的软件安装、数据库同步、网站配置均在宝塔面板中完成。

1.3 放行防火墙端口

放行项目端口 / 说明
宝塔面板入口默认 8888,建议修改为自定义端口
网站80、443
邮件服务25、110、143、993、995、587、465

腾讯云检查「防火墙」规则,阿里云检查「安全组」规则。

宝塔防火墙:如果服务器厂商本身提供端口放行拦截,可按实际情况关闭宝塔防火墙;如果服务器厂商没有额外的端口放行拦截,则开启宝塔防火墙,并放行上表端口。

1.4 配置域名解析

进入域名服务商的 DNS 管理页面,按照下表添加解析记录。将「服务器IP」和「你的域名」替换为实际信息。

主机记录记录类型记录值说明
mailA服务器IP邮箱服务主机
@MXmail.你的域名根域名邮件投递目标
*A服务器IP可省略;按实际域名使用情况决定

如果要使用子域名作为邮箱后缀,还需要增加对应的解析记录:

子域名邮箱解析
前缀    A    服务器 IP

1.5 安装网站运行环境

软件教程建议
Apache安装并启用 Apache 网站服务
MySQL 兼容数据库建议使用 MariaDB 10.4 或 MariaDB 11.8
PHP安装 PHP 8.2 以上版本;新部署优先选择 8.3、8.4 或 8.5
宝塔软件商店中安装 Apache、MySQL 兼容数据库和 PHP。
宝塔软件商店中安装 Apache、MySQL 兼容数据库和 PHP。
PHP 安全版本提示:PHP 8.2.35、8.3.36、8.4.27、8.5.12 分别修复 CVE-2026-109618 和 CVE-2026-109619;对应分支低于这些版本的版本受影响。PHP 8.1 及更早版本已结束常规上游安全更新;PHP 项目仅为部分旧分支提供最小源码回补,不属于常规维护版本。若 Linux 发行版或软件供应商提供回补包,请以其公告和具体构建版本为准。PHP 8.2 将于 2026-12-31 结束安全支持,新部署建议优先选择 PHP 8.3、8.4 或 8.5 的安全更新版本。 查看 PHP 官方安全公告。Windows 官方 PHP 二进制包另有 2026-10-26 的 -1 重打包版本(8.2.35-1、8.3.36-1、8.4.27-1、8.5.12-1),包含 Brotli 1.2.1 对 CVE-2026-111497 的修复;如果使用宝塔软件商店版本,请确认其依赖更新已包含该修复。

1.6 安装并启用 PHP 扩展

PHP 8.2 以上版本(新部署优先 8.3、8.4 或 8.5)大部分扩展通常已经安装,可能需要在 PHP 配置文件中手动启用。检查以下扩展配置是否存在并处于启用状态:

PHP 配置文件中需要启用的扩展
extension=openssl
extension=mbstring
extension=pdo_mysql
extension=sodium
extension=zip
extension=curl

如果扩展配置行前面有分号 ;,去掉分号后保存。

在宝塔 PHP 版本管理中进入「配置文件」,检查并启用 PHP 扩展。
在宝塔 PHP 版本管理中进入「配置文件」,检查并启用 PHP 扩展。
在 PHP 管理页面点击「重启」,使扩展配置生效。
在 PHP 管理页面点击「重启」,使扩展配置生效。
WINDOWS · 02

安装 hMailServer 6.3.8

下载并校验 Windows x64 安装程序,完成 hMailServer 安装、MariaDB 数据库初始化和 REST API 设置。

2.1 下载并校验 hMailServer 6.3.8

Windows 正式版使用 x64 安装程序。下载地址和校验信息以 hMailServer 官方发布页为准。

2.2 正式安装 hMailServer 6.3.8

运行安装程序,按下面图片顺序完成安装。不同页面按图中红色箭头选择或点击 Next。

安装向导第 1 步:阅读并接受许可协议。
安装向导第 1 步:阅读并接受许可协议。
安装向导第 2 步:选择安装目录。
安装向导第 2 步:选择安装目录。
安装向导第 3 步:选择安装组件。
安装向导第 3 步:选择安装组件。
安装向导:选择外部数据库引擎。
安装向导:选择外部数据库引擎。
安装向导:选择开始菜单文件夹。
安装向导:选择开始菜单文件夹。
安装向导:设置 hMailServer Administrator 管理员密码。
安装向导:设置 hMailServer Administrator 管理员密码。
截图标注的示例密码为 123456。正式服务器请设置独立且足够强的管理员密码,并妥善保存,不要直接沿用示例密码。
安装向导:Server profile 选择 None。
安装向导:Server profile 选择 None。
安装向导:选择推荐的 hMailServer 服务账户。
安装向导:选择推荐的 hMailServer 服务账户。
安装向导:确认安装选项并开始安装。
安装向导:确认安装选项并开始安装。

初始化 hMailServer 数据库

安装完成后,继续运行 hMailServer Database Setup 向导,连接宝塔中安装的 MySQL 兼容数据库。

数据库设置向导第 1 步:欢迎页面。
数据库设置向导第 1 步:欢迎页面。
数据库设置向导第 2 步:选择创建新的 hMailServer 数据库。
数据库设置向导第 2 步:选择创建新的 hMailServer 数据库。
数据库设置向导第 3 步:选择 MySQL。
数据库设置向导第 3 步:选择 MySQL。

先在宝塔面板 → 数据库中查看 root 账户密码。点击「root密码」查看或设置 root 密码,并准备填入数据库连接信息。

在宝塔数据库页面点击「root密码」,查看或设置数据库 root 密码。
在宝塔数据库页面点击「root密码」,查看或设置数据库 root 密码。
字段填写内容
Database server address127.0.0.1
Port3306
Database namehmailserver
Usernameroot
Password宝塔面板中数据库 root 账户密码
数据库设置向导第 4 步:填写 127.0.0.1、3306、hmailserver、root 和 root 密码。
数据库设置向导第 4 步:填写 127.0.0.1、3306、hmailserver、root 和 root 密码。
数据库设置向导第 5 步:选择 MySQL 数据库服务依赖。
数据库设置向导第 5 步:选择 MySQL 数据库服务依赖。
数据库设置向导第 6 步:继续完成配置。
数据库设置向导第 6 步:继续完成配置。
数据库设置向导第 7 步:完成数据库初始化。
数据库设置向导第 7 步:完成数据库初始化。
本步骤使用 root 账户完成 hMailServer 数据库初始化。后续斑马邮箱和 hMailServer 的常规数据库连接,按第 3.2 步设置的 hmailserver 数据库用户及密码配置。

2.3 启用 hMailServer REST API

在 Windows 搜索并打开 hMailServer Control Panel。
在 Windows 搜索并打开 hMailServer Control Panel。
hMailServer Control Panel 登录页面。
hMailServer Control Panel 登录页面。
在监控与警报的 REST API 设置中,将端口设为 8045,绑定地址为 127.0.0.1,并保存。
在监控与警报的 REST API 设置中,将端口设为 8045,绑定地址为 127.0.0.1,并保存。
REST API 设置保存后按页面提示重新初始化或重启相关服务,使设置生效。
防火墙要求:绑定地址必须保持为 127.0.0.1。不要在 Windows 防火墙、宝塔防火墙、云安全组或服务器厂商防火墙中添加 TCP 8045 入站放行规则;本机 PHP 通过 127.0.0.1:8045 调用 REST API,不需要对公网开放 8045。
WINDOWS · 03

安装配置斑马邮箱程序

上传斑马邮箱程序,配置数据库账号、hMailServer 数据库连接、Apache 网站和后台初始化设置。

3.1 上传程序并解压

解压后的目录结构示意
wwwroot/
└── mail_admin/
    ├── config/
    │   └── database.php
    └── public/
        └── index.php

3.2 同步宝塔数据库列表并设置数据库账号

宝塔数据库页面:选择「从服务器同步到面板」。
宝塔数据库页面:选择「从服务器同步到面板」。
数据库列表中找到 hmailserver,点击「改密」重置数据库用户密码。
数据库列表中找到 hmailserver,点击「改密」重置数据库用户密码。
hmailserver 数据库权限设置:访问权限选择「本地服务器」并确认。
hmailserver 数据库权限设置:访问权限选择「本地服务器」并确认。
请妥善保存刚才重置的 hmailserver 数据库用户密码。第 3.3 步斑马邮箱 database.php 和第 3.4 步 hMailServer.INI 都要使用该密码。

3.3 修改斑马邮箱数据库配置文件

数据库配置文件默认路径
宝塔目录\wwwroot\mail_admin\config\database.php
配置项填写内容
数据库地址127.0.0.1
数据库名称hmailserver
数据库用户名hmailserver
数据库密码第 3.2 步重置的 hmailserver 用户密码
「宝塔目录」是路径占位文字,请替换为这台 Windows 服务器上宝塔面板实际使用的目录位置。

3.4 修改 hMailServer 数据库配置

hMailServer 默认配置文件路径
C:/Program Files/hMailServer/Bin/hMailServer.INI

将 [Database] 配置段按下面内容填写。数据库密码必须与第 3.2 步重置的 hmailserver 用户密码一致:

hMailServer.INI · [Database]
[Database]
Type=MySQL
Server=127.0.0.1
Database=hmailserver
Username=hmailserver
Password=数据库密码
Passwordencryption=0
Port=3306
Internal=0
宝塔文件管理器中打开 C:/Program Files/hMailServer/Bin/hMailServer.INI,显示 [Database] 数据库连接配置段。
在 hMailServer 安装目录中打开 hMailServer.INI,检查并填写 [Database] 数据库连接配置。
请确认 PHP 后台与 hMailServer 使用同一个 hmailserver 数据库,并且两处配置中的数据库用户名、密码一致。

3.5 添加网站

网站设置项填写 / 选择
域名mail.你的域名,例如 mail.example.com
网站根目录宝塔网站目录下的 wwwroot/mail_admin
运行目录/public
程序类型PHP
宝塔添加站点:填写域名,网站根目录指向 mail_admin,程序类型选择 PHP。
宝塔添加站点:填写域名,网站根目录指向 mail_admin,程序类型选择 PHP。
宝塔网站目录设置:运行目录选择 /public,并按教程要求调整防跨站攻击和访问日志选项。
宝塔网站目录设置:运行目录选择 /public,并按教程要求调整防跨站攻击和访问日志选项。
写访问日志可以关闭。中国大陆服务器要求保留 180 天日志,请按服务器所在地的适用要求处理日志设置。

3.6 设置 Apache 伪静态

Apache 伪静态规则
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^(admin|web|webmail|hmailadmin)/index$ /$1/ [R=301,L]
    RewriteRule ^(admin|web|webmail|hmailadmin)/(?!index\.html$)(.+)\.html$ /$1/$2 [R=301,L]
    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^ - [END]
    RewriteCond %{REQUEST_FILENAME}.html -f
    RewriteRule ^(.+)$ $1.html [END]
    RewriteRule ^(.*)$ index.php?s=/$1 [QSA,END]
</IfModule>
宝塔网站伪静态页面:填写 Apache Rewrite 规则并保存。
宝塔网站伪静态页面:填写 Apache Rewrite 规则并保存。

3.7 系统运行状态与环境诊断

环境诊断地址示例
你的域名/check
  • 数据库连接异常:检查第 3.2 步数据库同步、密码和权限,以及第 3.3 步 database.php 配置。
  • PHP 扩展异常:检查第 1.6 步 PHP 扩展是否启用,并确认已重启 PHP。

3.8 首次登录斑马邮箱管理后台

项目初始值
管理员账户admin
初始密码123456
初始密码只用于首次登录。首次登录后立即修改管理员密码,不要在正式环境中继续使用默认密码。

3.9 修改管理员账户密码

修改完成后,使用新密码重新登录,确认管理员密码已生效。

3.10 关闭系统检查

建议先完成 /check 环境诊断和首次登录,再执行关闭系统检查的操作。
WINDOWS · 04

hMailServer 配置修改

切换到邮局管理,调整登录失败保护,并添加邮件客户端使用的 SMTP、IMAP 和 POP3 安全端口。

4.0 切换到邮局管理

斑马邮箱后台顶部的「邮局服务管理」入口。
斑马邮箱后台顶部的「邮局服务管理」入口。

4.1 关闭登录失败后自动封禁

系统设置 → 服务器:取消勾选「登录失败后自动封禁」,点击保存服务器设置。
系统设置 → 服务器:取消勾选「登录失败后自动封禁」,点击保存服务器设置。

4.2 在服务器端口中添加 465、587、993、995

进入「邮件投递 → 服务器端口」,检查端口列表。已存在且配置正确的端口不需要重复添加;缺少的端口按下表补充。

端口协议连接安全用途
465SMTPTLS加密 SMTP 提交
587SMTPSTARTTLS(可选)邮件客户端提交发送
993IMAPTLS加密收取 / 同步邮件
995POP3TLS加密下载邮件
服务器端口设置示例:SMTP 465,连接安全选择 TLS。
服务器端口设置示例:SMTP 465,连接安全选择 TLS。
服务器端口设置示例:IMAP 993,连接安全选择 TLS。
服务器端口设置示例:IMAP 993,连接安全选择 TLS。
服务器端口设置示例:POP3 995,连接安全选择 TLS。
服务器端口设置示例:POP3 995,连接安全选择 TLS。
服务器端口列表示例:包含 SMTP 465 / 587、IMAP 993、POP3 995,并显示「立即重启服务」按钮。
服务器端口列表示例:包含 SMTP 465 / 587、IMAP 993、POP3 995,并显示「立即重启服务」按钮。

4.3 重启服务器

请确认 465、587、993、995 已正确保存,并且第 1.3 步的云服务器防火墙 / 安全组也已放行对应端口。
WINDOWS · 05

故障排查

根据出现的问题,按对应步骤逐项检查,不要跳过数据库连接、端口放行和服务重启。

常见问题与检查步骤

问题现象优先检查步骤
1. 网站无法正常打开1.3 防火墙端口;1.4 域名解析;1.5 网站运行环境;1.6 PHP 扩展;3.3 数据库配置;3.5 站点设置;3.6 Apache 伪静态。
2. 无法正常收到邮件1.4 域名解析;2.1 安装包;2.2 hMailServer 安装和数据库初始化;2.3 REST API;3.4 hMailServer 数据库配置;4.2 邮件服务端口;4.3 重启服务。
3. 邮箱用户端多次登录失败后无法登录4.1 登录失败后自动封禁设置;4.3 重启服务。
4. 切换至邮局服务管理后状态为「未连接」特别检查 3.4:hMailServer.INI 的数据库地址、数据库名、用户名和密码是否正确,密码是否与第 3.2 步重置的 hmailserver 用户密码一致。
排查时建议一次只调整一个配置项;修改数据库配置后确认数据库服务和 hMailServer 服务均正常,再返回后台检查连接状态。
没有找到匹配的内容,请尝试其他关键词。
当前教程中没有找到匹配内容,请尝试其他关键词。