- 版权类型
- 原创
- 插件中文名称
- 效率邮件
- 插件英文名称
- xvmail
- 原帖地址
- #
- 支持的核心(服务端)
- Paper
- Folia
- 语言支持
- 中文(简体)
- 前置组件
- vault或playerpoints
- 适配版本(Java)
- 26.x
- 1.21
✉ xvmail — Minecraft 全功能邮件系统插件
一句话介绍
xvmail 是一个为 Minecraft 服务器打造的重量级邮件系统插件,从游戏内邮件到 SMTP 真实邮件一应俱全,GUI + 命令双操作模式,支持附件、模板、群发、超限扣费、邮箱绑定验证、公开 API,让服务器的邮件系统不再是简单的「留个言」。
核心特性
完整的邮件系统
- 玩家间发送邮件,支持主题 + 正文
- 附件功能:手持物品即可附带在邮件中
- 邮件模板:预设常用内容,一键发送
- 收件箱、已读/未读标记、分页浏览
- 玩家上线自动弹窗未读邮件提醒
SMTP 真实邮件
- 支持 SMTP 协议发送真实邮件到玩家绑定的邮箱
- 兼容 Gmail / QQ邮箱 / 163邮箱 / Outlook 等主流服务商
- 邮箱绑定 + 验证码验证,防止滥用
auto-send-real-email:收到游戏内邮件自动同步发送真实邮件- 验证码、通知、重要消息不再怕玩家不在线错过
超限扣费机制
- 每日免费发送次数限制(可配置)
- 超出限额后允许付费继续发送
- 支持 Vault 金币 / PlayerPoints 点券 双货币
- 可设定超限后每日额外发送上限,防刷可控
群发邮件
- 支持
/mail broadcast向全服在线/所有玩家群发 - 群发需权限 + 扣费,避免滥用
- 群发范围可选
online(仅在线)或all(全部玩家) - 全服邮件(管理员)不受限制
全 GUI 界面
- 主菜单、收件箱、写邮件、阅读邮件全部 GUI 可视化操作
- 命令也完整保留,CLI 党同样满足
- 分页浏览、一键删除/清空、附件预览
多语言支持
- 中文(zh_cn)、英文(en_us)、繁体中文(zh_tw)
- 消息配置全可自定义,无需改代码
公开 API
- 完整的
XvMailAPI接口,供其他插件接入 - 游戏内邮件 / 真实邮件 / 混合发送 / 邮箱绑定查询
- 系统邮件(不受限制)、玩家邮件(受限制)、带附件邮件
- 异步设计,不阻塞主线程
- 已有接入案例:TLPay 支付插件通过 xvmail 发送充值/退款通知
⚙ 双存储模式
- YAML:轻量级,每个玩家一个文件,零依赖开箱即用
- SQLite:高性能数据库模式,适合大服
- 一行配置切换,数据迁移无忧
Folia 兼容
- 自动检测 Paper / Folia 运行环境
- Folia 下使用区域调度器和异步调度器
- 无需任何额外配置,放上去就能跑
命令一览
玩家命令
表格
| 命令 | 说明 |
|---|---|
/mail | 打开邮件主菜单(GUI) |
/mail send <玩家> <内容> | 发送邮件 |
/mail sendex <玩家> <内容> | 付费发送邮件(超限后) |
/mail broadcast <内容> | 群发邮件(需权限+扣费) |
/mail list | 查看邮件列表 |
/mail read <ID> | 阅读邮件 |
/mail clear <ID> | 删除邮件 |
/mail clear all | 清空邮箱 |
/mail bindemail <邮箱> | 绑定真实邮箱 |
/mail verifyemail <验证码> | 验证邮箱 |
/mail unbindemail | 解绑邮箱 |
/mail myemail | 查看绑定邮箱 |
管理员命令
表格
| 命令 | 说明 |
|---|---|
/mailadmin clearall <玩家> | 清空指定玩家邮件 |
/mailadmin listall <玩家> | 查看指定玩家所有邮件 |
/mailadmin sendall <内容> | 全服发送邮件 |
/mailadmin cleanup | 手动触发过期邮件清理 |
/mailadmin reload | 重载配置(含SMTP/邮箱绑定/配置补全) |
/mailadmin smtp test | 测试SMTP连接 |
/mailadmin smtp send <邮箱> <内容> | 测试发送邮件 |
权限节点
表格
| 权限 | 说明 | 默认 |
|---|---|---|
xvmail.use | 基础邮件功能 | true |
xvmail.send | 发送邮件 | true |
xvmail.receive | 接收邮件 | true |
xvmail.attach | 发送附件 | true |
xvmail.sendex | 超限付费发送 | true |
xvmail.broadcast | 群发邮件 | op |
xvmail.unlimited | 无限制发送 | op |
xvmail.admin | 管理员权限 | op |
xvmail.email.bind | 绑定邮箱 | true |
xvmail.email.unbind | 解绑邮箱 | true |
xvmail.bypass | 绕过所有限制 | op |
快速配置
最小配置(开箱即用)
安装插件,启动服务器,开箱即用。YAML 存储 + GUI 界面 + 基础邮件功能,无需任何额外配置。
启用 SMTP 真实邮件
代码:
smtp:
enabled: true
host: smtp.qq.com # QQ邮箱示例
port: 465
username: your@qq.com
password: 授权码 # 注意是授权码,不是登录密码
from-address: your@qq.com
from-name: "我的MC服务器"
use-ssl: true
use-tls: false
timeout: 10000
启用自动同步真实邮件
代码:
email-bind:
enabled: true
require-verify: true
auto-send-real-email: true # 游戏内邮件自动同步发送真实邮件
常见 SMTP 配置参考
表格
| 服务商 | host | port | use-ssl | use-tls |
|---|---|---|---|---|
| Gmail | smtp.gmail.com | 587 | false | true |
| QQ邮箱 | smtp.qq.com | 465 | true | false |
| 163邮箱 | smtp.163.com | 465 | true | false |
| Outlook | smtp.office365.com | 587 | false | true |
开发者 API
xvmail 提供完整的公开 API,其他插件可以轻松接入邮件能力。
快速接入
代码:
// 1. 在 plugin.yml 声明依赖
softdepend: [xvmail]
// 2. 获取 API
XvMailAPI api = XvMail.getAPI();
if (api == null) return; // xvmail 未安装
// 3. 发送系统邮件(不受每日限制)
api.sendSystemMail("Steve", "充值成功", "您获得了100点券");
// 4. 同时发送游戏内邮件 + 真实邮件
api.sendMailWithRealEmail("Steve", "重要通知", "服务器将在30分钟后维护");
// 5. 查询邮箱绑定
if (api.isEmailBound("Steve")) {
String email = api.getBoundEmail("Steve");
}
API 能力一览
表格
| 方法 | 说明 |
|---|---|
sendSystemMail(player, subject, content) | 系统邮件(不受限制) |
sendInGameMail(sender, recipient, subject, content) | 玩家邮件(受限制) |
sendInGameMail(recipient, subject, content) | 无发送者邮件(不受限制) |
sendRealEmail(player, subject, content) | 发送真实邮件 |
sendRealEmailToAddress(email, subject, content) | 发送到指定邮箱地址 |
sendMailWithRealEmail(player, subject, content) | 游戏内 + 真实邮件 |
isEmailBound(player) | 检查是否绑定邮箱 |
getBoundEmail(player) | 获取绑定的邮箱 |
getUnreadMailCount(player) | 获取未读邮件数 |
isSmtpEnabled() | 检查 SMTP 是否启用 |
testSmtpConnection() | 测试 SMTP 连接 |
安装方式
- 将
xvmail-1.6.0.jar放入服务器的plugins/目录 - 安装 Vault(必需,经济系统)
- (可选)安装 PlayerPoints(点券支持)
- 重启服务器,自动生成配置文件
- 根据需要修改
plugins/xvmail/config.yml
常见问题
Q:不用 SMTP 能用吗?
A:完全可以。游戏内邮件功能独立运行,SMTP 是可选增强。
Q:支持 Folia 吗?
A:原生支持,自动检测运行环境,Folia/Paper 无缝切换。
Q:数据怎么存?
A:默认 YAML,改一行配置可切 SQLite,无需外部数据库。
Q:配置改了不生效?
A:使用
/mailadmin reload 重载,会自动补全缺失配置项并重新初始化 SMTP。Q:玩家绑定邮箱收不到验证码?
A:检查 SMTP 配置是否正确,使用
/mailadmin smtp test 测试连接。
更新日志
v1.6.0
新增 SMTP 真实邮件发送
新增邮箱绑定 + 验证码验证
新增 auto-send-real-email自动同步真实邮件
新增 /mailadmin reload增强(重载 SMTP/邮箱绑定/配置补全)
新增 notifyRecipient统一通知(普通/群发/全服邮件均走统一路径)
修复上线弹窗线程安全问题
修复配置文件缺失项不自动补全
修复绑定邮箱/收到邮件缺少命令提示
公开 API 供第三方插件接入
开源协议
MIT License
作者:xiaolv25