更新日志
v2.4.3 - 2020/3/9


  • 修复了使用VV无法发送player,times,keytimes邮件的bug

查看完整更新日志

PHP远程邮件管理工具

目前仅有管理员版,仅支持查看邮件
支持彩色文字、查看物品附魔、药水、Lore等

管理员版 玩家版 (未开放)

可选前置插件


插件名字 额外功能 相关网站
VexView[2.4-2.6] GUI界面 官网 Mcbbs
Vault 发送金钱 SpigotMC Mcbbs
PlayerPoints 发送点券 重制版 Mcbbs
PlaceholderAPI 添加变量 SpigotMC Mcbbs
LocaleLanguageAPI 获取物品名 官网 Mcbbs

插件已测试版本

MySQL数据库版本低于5.7时请修改编码为utf8mb4

版本 核心 兼容 NBT
1.15.2 Spigot 兼容 未测试
1.14.4 Spigot 兼容 未测试
1.13.2 Spigot 兼容 未测试
1.12.2 Spigot 兼容 未测试
1.12.2 CatServer(Luohuayu) 兼容 支持
1.11.2 Spigot 兼容 未测试
1.10.2 Spigot 兼容 未测试
1.9.4 Spigot 兼容 未测试
1.8.8 Spigot 兼容 未测试
1.7.10 Spigot 兼容 不支持
1.7.10 Uranium(dev5_B271) 兼容 未测试
1.7.10 Contigo(r59) 不兼容 未测试
1.7.10 KCauldron 不兼容 未测试
1.7.2 Spigot 不兼容 未测试

插件主要功能


  • 玩家间互相发送邮件
  • 可删除自己已发送的邮件
  • 可设置玩家邮件发件上限和过期时间
  • 可设置红包邮件和口令邮件的过期时间
  • 当玩家收到一封新邮件时提醒他
  • 一键领取所有附件邮件
  • 支持VexView, 所有组件支持自定义
  • 内置VexView的物品Lore编辑GUI
  • 可开关指令 / 按键(单按键or组合键)打开邮箱GUI
  • 发送纯文本邮件
  • 发送带物品附件的邮件
  • 可指定某些物品不能作为邮件发送(通过Lore或ID)
  • 可设置最大发送物品数量
  • 支持Vault和PlayerPoints
  • 发送领取后给予金钱/点券的邮件
  • 可设置邮费和每格物品额外的邮费
  • 发送领取后后台触发指令的邮件
  • 发送领取后玩家以op身份执行指令的邮件
  • 发送一个指定玩家可以领取的邮件
  • 发送一个所有人都可以领取的邮件
  • 发送一个在线所有人都可以领取的邮件
  • 发送一个有指定权限的人可以领取的邮件
  • 发送一个指定时间段内可以领取的邮件
  • 发送一个含有一定可以领取的数量的邮件
  • 发送一个含有一定数量并需要发送相关口令领取的邮件
  • 发送一个通过CDK领取的邮件
  • 编辑一个邮件模板方便一键发送
  • 后台可以发送、查看、删除邮件
  • 添加了一些PlaceholderAPI变量
  • 邮件内容支持PlaceholderAPI变量
  • 支持MySQL与SQLite存储数据
  • 邮件附件可存储在本地或数据库

邮件及类型


邮件

文本邮件
指含有标题、文字内容及相应邮件类型专有的属性的邮件
附件邮件
指在文本邮件的基础上,包含物品、指令、金钱等附加可交易物件的邮件
附件
存储了附件邮件的物品、指令、金钱等信息
本地的附件文件存放路径为 MailBox/MailFile/邮件类型/附件名.yml
数据库的附件信息存放在数据表为 数据表前缀_file
附件类型
原版及MOD物品:
- 特定的Lore会在领取时随机转化成其他Lore
- 特定的字符会在领取时随机转化成指定区间的整数
指令:
- %player%为领取邮件的玩家名
- 默认为后台执行指令
- 后缀为:op则让玩家以op身份执行指令
Vault插件的金钱
PlayerPoints的点券

邮件类型

player - 玩家邮件
发送时需要指定一个/多个收件人
任何时间在收件人列表里的玩家可以领取
主要用于玩家间发送邮件
也可用于为单个/小数量玩家发送礼包
由于数据库收件人字符上限为255,不建议收件人列表超过20个玩家
system - 系统邮件
任何时间任何人都可以领取的邮件
主要用于为全体玩家发放礼包
times - 红包邮件
发送时需要指定邮件数量
任何时间前N个人可以领取的邮件
主要用于管理员/玩家间发红包
keytimes - 口令邮件
发送时需要指定邮件数量和口令
任何时间前N个人发送口令可以领取的邮件
主要用于管理员/玩家间发口令红包
permission - 权限邮件
发送时需要指定领取时需要的权限
任何时间有指定权限的人可以领取的邮件
主要用于为对VIP分级发放礼包
date - 限时邮件
发送时需要指定开始时间和截止时间
开始时间之前玩家无法看见/领取这封邮件
超过截止时间时邮件自动删除
将开始时间设置为0,自动转换为发送时间
将截止时间设置为0,则不会自动删除
主要用于发放限定时间的礼包,如节日礼包、更新补偿
假设定义时间为:
  2018年1月26日3点26分47秒
  则应写为 2018 1 26 3 26 47
假设定义时间为:
  2018年1月26日0点0分0秒
  则应写为 2018 1 26 0 0 0
  或 2018 1 26
当使用send指令时,应用-代替空格
  2018-1-26-3-26-47 2018-1-26
未定义时分秒时,默认为 00:00:00
(特) cdkey - CDK邮件
发送时需要指定兑换码唯一性
当兑换码唯一时:邮件会在第一次领取时自动删除
当玩家使用兑换码时,会将一封对应邮件以player类型发给玩家
每个id的CDK邮件,一个玩家只能领取一次
可以使用指令 /mb cdkey export [邮件id]或all 导出兑换码到插件文件夹
(伪) online - 在线邮件
对所有在线玩家发送一封player邮件
主要用于在特定时间发放在线礼包
(伪) template - 邮件模板
发送时需要指定模板名
通过指令从MailBox/Template文件夹中取出一份写好的邮件模板进行预览
不同邮件类型使用的指令不同
主要用于不同时间多次发送一封相同的邮件

插件指令


主指令 /mailbox 或 /mb , [必选参数] <可选参数>

  • /mb 打开邮箱GUI(未启用vv时,等同于/mb rb)
  • /mb help 查看插件帮助
  • /mb new 新建一封邮件
  • /mb rb 查看收件箱(rb为receivebox)
  • /mb sb 查看发件箱(sb为sendbox)
  • /mb ok 一键领取所有邮件的附件(ok为onekey)
  • /mb cdk [兑换码] 使用兑换码
  • /mb [邮件类型] see [邮件ID] 查看某封邮件
  • /mb [邮件类型] collect [邮件ID] 领取某封邮件
  • /mb [邮件类型] delete [邮件ID] 删除某封邮件
  • /mb [邮件类型] update 更新目标类型邮件列表
  • /mb [邮件类型] upload [邮件ID] 将目标邮件的本地附件上传到数据库
  • /mb [邮件类型] upload all 将目标邮件类型的全部本地附件上传到数据库
  • /mb [邮件类型] download [邮件ID] 将目标邮件的数据库附件下载到本地
  • /mb [邮件类型] download all 将目标邮件类型的全部数据库附件下载到本地
  • /mb player clean 手动清理player类型过期邮件
  • /mb date clean 手动清理date类型过期邮件
  • /mb times clean 手动清理times类型过期邮件
  • /mb keytimes clean 手动清理keytimes类型过期邮件
  • /mb cdkey create [邮件ID] 为一封cdkey邮件生成兑换码
  • /mb cdkey create [邮件ID] [兑换码数量] 为一封cdkey邮件生成一定数量的兑换码
  • /mb cdkey export [邮件ID] 导出一封cdkey邮件的兑换码
  • /mb cdkey export all 导出所有cdkey邮件的兑换码
  • /mb cdkey reset [玩家名] 重置玩家今日输入兑换码的次数
  • /mb item id 查看手上物品的Material_ID
  • /mb item import [文件名] 将ItemExport文件夹下的[文件名].yml中的物品取出到手上
  • /mb item export [文件名] 将手上物品导出至ItemExport文件夹下的[文件名].yml
  • /mb item list 查看已导出的物品文件名列表
  • /mb template [模板名] 读取一个邮件模板进入类型选择
  • /mb template [模板名] [邮件类型] 读取一个邮件模板以[邮件类型]类型进入预览/参数设置
  • /mb template [模板名] template [目标文件名] 复制一个邮件模板进入预览,并写入目标文件名
  • /mb template [模板名] times [邮件数量] 读取一个邮件模板以times类型进入预览,并写入邮件数量
  • /mb template [模板名] keytimes [邮件数量] [邮件口令] 读取一个邮件模板以keytimes类型进入预览,并写入邮件数量和口令
  • /mb template [模板名] cdkey [兑换码唯一性] 读取一个邮件模板以cdkey类型进入预览,并设置兑换码唯一性
  • /mb template [模板名] permission [所需权限] 读取一个邮件模板以permission类型进入预览,并写入所需权限
  • /mb template [模板名] date [开始时间] [截止时间] 读取一个邮件模板以date类型进入预览,并写入开始时间和截止时间
  • /mb template [模板名] player [收件人1] <收件人2> <收件人3> ... 读取一个邮件模板以player类型进入预览,并写入收件人
  • /mb send [模板名] system 读取一个邮件模板,为system类型,不进入预览直接发送
  • /mb send [模板名] online 读取一个邮件模板,为online类型,不进入预览直接发送
  • /mb send [模板名] template [目标文件名] 复制一个邮件模板,不进入预览直接保存为目标文件名
  • /mb send [模板名] times [邮件数量] 读取一个邮件模板,写入times类型,并写入邮件数量,不进入预览直接发送
  • /mb send [模板名] keytimes [邮件数量] [邮件口令] 读取一个邮件模板,写入keytimes类型,并写入邮件数量和口令,不进入预览直接发送
  • /mb send [模板名] cdkey [兑换码唯一性] 读取一个邮件模板,写入cdkey类型,并设置兑换码唯一性,不进入预览直接发送
  • /mb send [模板名] permission [所需权限] 读取一个邮件模板,为permission类型并写入所需权限,不进入预览直接发送
  • /mb send [模板名] date [开始时间] [截止时间] 读取一个邮件模板,为date类型并写入开始时间和截止时间,不进入预览直接发送
  • /mb send [模板名] player [收件人1] <收件人2> <收件人3> ... 读取一个邮件模板,为player类型并写入收件人,不进入预览直接发送
  • /mb check 检查更新
  • /mb reload 重载插件

插件权限


玩家推荐权限
  -负权限: 在玩家基础权限前加一个"."

  • mailbox.onekey 一键领取邮件的权限
  • mailbox.cdkey.use 使用兑换码的权限
  • mailbox.gui.mailbox 打开邮箱GUI的权限
  • mailbox.gui.mailcontent 打开邮件内容GUI的权限
  • mailbox.gui.send 打开发送邮件GUI的权限
  • mailbox.list.receive 查看收件箱的权限
  • mailbox.list.send 查看发件箱的权限
  • mailbox.send.player 发送player邮件的权限
  • mailbox.send.times 发送times邮件的权限
  • mailbox.send.keytimes 发送keytimes邮件的权限
  • mailbox.see.system 在邮件列表显示system邮件的权限
  • mailbox.see.permission 在邮件列表显示permission邮件的权限
  • mailbox.see.player 在邮件列表显示player邮件的权限
  • mailbox.see.date 在邮件列表显示date邮件的权限
  • mailbox.see.times 在邮件列表显示times邮件的权限
  • mailbox.see.keytimes 在邮件列表显示keytimes邮件的权限
  • mailbox.collect.system 领取system类型邮件附件的权限
  • mailbox.collect.perimission 领取perimission类型邮件附件的权限
  • mailbox.collect.player 领取player类型邮件附件的权限
  • mailbox.collect.date 领取date类型邮件附件的权限
  • mailbox.collect.times 领取times类型邮件附件的权限
  • mailbox.collect.keytimes 领取keytimes类型邮件附件的权限
  • mailbox.send.money.coin 发送邮件附带Vault金钱的权限
  • mailbox.send.money.point 发送邮件附带PlayerPoints点券的权限
  • mailbox.delete.player 删除自己发送的player邮件的权限
  • mailbox.player.* 玩家基础权限包,包含以上全部权限
  • mailbox.send.player.out.X 发送player邮件存在上限(X为0至config的最大发件数量)
  • mailbox.send.item.X 发送邮件附带X个物品的权限(X为0至config的最大发送物品数量)
  • permission邮件的自定义权限 领取某个perimission邮件时所需的的权限

管理员权限

  • mailbox.content.id 查看邮件ID的权限
  • mailbox.content.filename 查看邮件附件名的权限
  • mailbox.content.command 查看邮件时能看到真实执行指令的权限(暂时与VV无关)
  • mailbox.admin.help 查看admin版help的权限
  • mailbox.admin.item 使用item相关指令的权限
  • mailbox.admin.check 手动检查更新的权限
  • mailbox.admin.reload 重载插件的权限
  • mailbox.admin.cdkey.day 无视每日兑换码输入次数上限的权限
  • mailbox.admin.help 查看admin版help的权限
  • mailbox.admin.send.percent 在邮件内容中添加%符号的权限
  • mailbox.admin.see.system 查看system类型所有邮件的权限
  • mailbox.admin.see.player 查看player类型所有邮件的权限
  • mailbox.admin.see.permission 查看permission类型所有邮件的权限
  • mailbox.admin.see.date 查看date类型所有邮件的权限
  • mailbox.admin.see.times 查看times类型所有邮件的权限
  • mailbox.admin.see.keytimes 查看keytimes类型所有邮件的权限
  • mailbox.admin.see.cdkey 查看cdkey类型所有邮件的权限
  • mailbox.admin.reset.cdkey 重置玩家今日输入兑换码次数的权限
  • mailbox.admin.send.check.item 发送物品邮件时跳过检查背包内是否有相应物品的权限
  • mailbox.admin.send.check.ban 可以发送被禁止物品的权限
  • mailbox.admin.send.check.coin 发送邮件时不检查Vault金钱数量的权限
  • mailbox.admin.send.check.point 发送邮件时不检查PlayerPoints点券数量的权限
  • mailbox.admin.send.noconsume.item 发送物品邮件不删除背包内相应物品的权限
  • mailbox.admin.send.noconsume.coin 发送物品邮件不消耗Vault金钱的权限
  • mailbox.admin.send.noconsume.point 发送物品邮件不消耗PlayerPoints点券的权限
  • mailbox.admin.send.system 发送system邮件的权限
  • mailbox.admin.send.player 发送player邮件的权限
  • mailbox.admin.send.permission 发送permission邮件的权限
  • mailbox.admin.send.date 发送date邮件的权限
  • mailbox.admin.send.times 发送times邮件的权限
  • mailbox.admin.send.keytimes 发送keytimes邮件的权限
  • mailbox.admin.send.cdkey 发送cdkey邮件的权限
  • mailbox.admin.send.online 发送online邮件的权限
  • mailbox.admin.send.template 保存template邮件的权限
  • mailbox.admin.send.multiplayer 发送player类型邮件时无视发件人上限的权限
  • mailbox.admin.send.extraplayer 当player邮件收件人超出长度时自动拆分为多个邮件发送的权限
  • mailbox.admin.send.sender 预览时可以修改发件人的权限(暂时与VV无关)
  • mailbox.admin.send.command 发送邮件附带指令的权限
  • mailbox.admin.send.me 发送player类型邮件可以添加自己为收件人的权限
  • mailbox.admin.send.check.times 发送times类型邮件无视数量上限的权限
  • mailbox.admin.create.cdkey 为cdkey邮件生成兑换码的权限
  • mailbox.admin.export.cdkey 导出cdkey邮件的兑换码的权限
  • mailbox.admin.update.system 更新system邮件列表的权限
  • mailbox.admin.update.player 更新player邮件列表的权限
  • mailbox.admin.update.permission 更新permission邮件列表的权限
  • mailbox.admin.update.date 更新date邮件列表的权限
  • mailbox.admin.update.times 更新times邮件列表的权限
  • mailbox.admin.update.keytimes 更新keytimes邮件列表的权限
  • mailbox.admin.update.cdkey 更新cdkey邮件列表的权限
  • mailbox.admin.delete.system 删除system邮件的权限
  • mailbox.admin.delete.player 删除player邮件的权限
  • mailbox.admin.delete.permission 删除permission邮件的权限
  • mailbox.admin.delete.date 删除date邮件的权限
  • mailbox.admin.delete.times 删除times邮件的权限
  • mailbox.admin.delete.keytimes 删除keytimes邮件的权限
  • mailbox.admin.delete.cdkey 删除cdkey邮件的权限
  • mailbox.admin.clean.player 手动清理player过期邮件的权限
  • mailbox.admin.clean.date 手动清理date过期邮件的权限
  • mailbox.admin.clean.times 手动清理times过期邮件的权限
  • mailbox.admin.clean.keytimes 手动清理keytimes过期邮件的权限
  • mailbox.admin.upload 从本地上传附件的权限
  • mailbox.admin.download 从数据库下载附件的权限
  • mailbox.admin.template 使用模板预览并发送的权限
  • mailbox.admin.template.send 跳过模板预览直接发送邮件的权限

GUI

所有GUI均可更改组件配置

当VexView版本小于2.6.8且服务器大于等于1.13时,关闭以下功能
当VexView版本大于2.6并小于2.6.8时,关闭以下功能
当VexView版本小于2.6.8时,文本域替换为文本框
当VexView版本小于2.6时,常驻HUD不可点击
当VexView版本小于2.5.6时,邮件发送GUI会进行调整
当VexView版本大于2.5并小于2.5.6时,发送邮件GUI使用指令代替
当VexView版本小于2.5时,发送邮件和物品列表GUI使用指令代替
当VexView版本小于2.4时,关闭以下功能

常驻HUD

一直显示的HUD
点击打开邮箱GUI

新邮件提醒HUD

收到新邮件时显示的HUD

邮件列表GUI

显示收/发件列表的GUI

邮件类型选择GUI

选择发送邮件类型的GUI
拥有admin发送权限才会出现

CDK兑换GUI

兑换CDK的GUI
管理员可导出所有cdkey

邮件发送GUI

写邮件的GUI(以system邮件为例)
本界面只能通过转移到其他GUI后关闭
如果装了Vault或PlayerPoints可以发送金币点券
[ 鼠标移到对应文本框上显示余额 ]
以system为基础:
[ player需要填写收件人 ]
[ permission需要填写领取时需要的权限 (自定义权限) ]

邮件预览GUI

发送前确认邮件内容的GUI
本界面可预览即将发送的邮件

邮件内容GUI

显示邮件内容的GUI

普通文本邮件(纯文字,无附件)

打开看的时候自动设置为已读

附件邮件(含物品、指令、金币或点券)





已导出物品列表GUI

列出已导出物品的列表的GUI
点击物品进入物品编辑GUI

PlaceholderAPI变量


本插件仅邮件内容支持变量

  • %mailbox_player_hasmail% 玩家收件箱是否有邮件(返回值自定)
  • %mailbox_player_cdkey_day% 玩家今日输入兑换码的次数
  • %mailbox_player_mail_system% 玩家可领取system邮件数量
  • %mailbox_player_mail_player% 玩家可领取player邮件数量
  • %mailbox_player_mail_permission% 玩家可领取permission邮件数量
  • %mailbox_player_mail_date% 玩家可领取date邮件数量
  • %mailbox_player_mail_times% 玩家可领取times邮件数量
  • %mailbox_player_mail_keytimes% 玩家可领取keytimes邮件数量
  • %mailbox_player_mail_cdkey% 玩家可领取cdkey邮件数量
  • %mailbox_player_mail_all% 玩家可领取邮件总数量
  • %mailbox_player_send_item% 玩家可发送物品的最大数量
  • %mailbox_player_send_system_number% 玩家已发送system邮件的数量
  • %mailbox_player_send_player_number% 玩家已发送player邮件的数量
  • %mailbox_player_send_permission_number% 玩家已发送permission邮件的数量
  • %mailbox_player_send_date_number% 玩家已发送date邮件的数量
  • %mailbox_player_send_times_number% 玩家已发送times邮件的数量
  • %mailbox_player_send_keytimes_number% 玩家已发送keytimes邮件的数量
  • %mailbox_player_send_cdkey_number% 玩家已发送cdkey邮件的数量
  • %mailbox_player_send_player_max% 玩家可发送player邮件的最大数量
  • %mailbox_server_time_player% 服务器player邮件过期天数
  • %mailbox_server_time_times% 服务器times邮件过期小时
  • %mailbox_server_mail_system% 服务器system邮件数量
  • %mailbox_server_mail_player% 服务器player邮件数量
  • %mailbox_server_mail_permission% 服务器permission邮件数量
  • %mailbox_server_mail_date% 服务器date邮件数量
  • %mailbox_server_mail_times% 服务器times邮件数量
  • %mailbox_server_mail_keytimes% 服务器keytimes邮件数量
  • %mailbox_server_mail_cdkey% 服务器cdkey邮件数量
  • %mailbox_server_mail_all% 服务器邮件总数量
  • %mailbox_server_send_item% 服务器允许发送物品的最大数量
  • %mailbox_server_send_vault% 服务器允许发送的最大金币
  • %mailbox_server_send_point% 服务器允许发送的最大点券
  • %mailbox_server_send_expand_vault% 服务器发送一封邮件消耗的金币
  • %mailbox_server_send_expand_point% 服务器发送一封邮件消耗的点券
  • %mailbox_server_send_expand_item_vault% 服务器每附带一个物品额外消耗的金币
  • %mailbox_server_send_expand_item_point% 服务器每附带一个物品额外消耗的点券

配置文件


  • [基础配置] config.yml
  • [中文语言] zh_cn.yml
  • [内置语言] message.yml
  • [本地附件] file.yml
  • [导出物品] itemstack.yml
  • [邮件模板] template.yml
  • [HUD图标] hud.yml
  • [邮箱GUI] box.yml
  • [类型选择GUI] select.yml
  • [CDK兑换GUI] cdkey.yml
  • [邮件发送GUI ] send.yml
  • [邮件内容GUI] content.yml
  • [物品列表GUI] item_list.yml