- 作者: 星梦
- 出处: https://github.com/ICU-Club/PlayerEmail
- 支持玩家绑定邮箱并通过SMTP向其他玩家发送邮件
- 支持验证码绑定、游戏内收件箱、黑名单、服主广播邮件
- 支持MySQL多服务器数据同步
| 语法 | 权限 | 说明 |
|---|---|---|
| /ml | playermail.use | 显示邮件系统帮助 |
| /ml b <邮箱> | playermail.use | 绑定邮箱,发送验证码 |
| /ml v <验证码> | playermail.use | 输入验证码完成绑定 |
| /ml s <玩家> <内容> | playermail.use | 向指定玩家发送邮件(需双方绑定) |
| /ml ib [页码] | playermail.use | 查看邮件收件箱(每页10封) |
| /ml i | playermail.use | 查看自己的绑定信息 |
| /ml u | playermail.use | 解绑自己的邮箱 |
| 语法 | 权限 | 说明 |
|---|---|---|
| /ml bc <内容> | playermail.admin | 向所有绑定玩家群发邮件 |
| /ml bl add <玩家> | playermail.admin | 将玩家加入黑名单 |
| /ml bl rm <玩家> | playermail.admin | 将玩家移出黑名单 |
| /ml bl list | playermail.admin | 查看黑名单列表 |
| /ml ca | playermail.admin | 一键解绑所有玩家邮箱 |
| /ml u <玩家> | playermail.admin | 强制解绑指定玩家邮箱 |
| /mlc <玩家> <内容> | playermail.console | 控制台直接发送邮件 |
配置文件路径:tshock/PlayerMail/config.json
首次启动自动生成默认配置:
{
"SMTP服务器": "smtp.qq.com",
"SMTP端口": 587,
"SMTP账号": "",
"SMTP密码或授权码": "",
"发件人邮箱": "",
"发件人显示名称": "泰拉瑞亚服务器",
"邮件标题模板": "[{ServerName}] [{FromPlayer}] 给你发来了一条服务器消息",
"邮件正文模板": "服务器名称: {ServerName}\n发送玩家: {FromPlayer}\n用户组: {FromGroup}\n玩家邮箱: {FromEmail}\n发送时间: {SendTime}\n\n消息内容:\n{Content}\n\n----------------\n由服务器 {ServerName} 代发\n如需回复,请直接回复此邮件或游戏内联系对方。",
"验证码邮件标题模板": "[{ServerName}] 邮箱绑定验证码",
"验证码邮件正文模板": "服务器名称: {ServerName}\n\n玩家: {ToPlayer}\n验证码: {VerifyCode}\n\n请在游戏内输入 /ml v {VerifyCode} 完成绑定。\n如非本人操作,请忽略此邮件。",
"广播邮件标题模板": "[{ServerName}] 服务器广播消息",
"广播邮件正文模板": "服务器名称: {ServerName}\n发送者: {FromPlayer} ({FromGroup})\n发送时间: {SendTime}\n\n广播内容:\n{Content}\n\n----------------\n由服务器 {ServerName} 群发",
"发送冷却秒数": 60,
"最大内容长度": 500,
"验证码过期秒数": 60,
"最大验证码申请次数": 5,
"使用MySQL同步": false,
"MySQL连接字符串": "Server=localhost;Database=terraria;Uid=root;Pwd=password;",
"进服前强制邮箱验证": false
}| 占位符 | 说明 |
|---|---|
{ServerName} |
自动读取 TShock.Config.Settings.ServerName |
{ServerDisplayName} |
配置中的发件人显示名称 |
{FromPlayer} |
发送者玩家名 |
{ToPlayer} |
接收者玩家名 |
{FromGroup} |
发送者用户组 |
{FromEmail} |
发送者绑定邮箱 |
{Content} |
消息内容 |
{SendTime} |
发送时间 |
{VerifyCode} |
验证码(仅验证码模板) |
- 确保所有服务器都能访问同一个MySQL数据库
- 将
使用MySQL同步设为true - 填写正确的
MySQL连接字符串 - 重启服务器或执行
/reload
插件会自动创建以下表:
playermail_players— 玩家邮箱绑定数据playermail_inbox— 邮件收件箱数据playermail_blacklist— 黑名单数据
/ml b 1011819146@qq.com
→ 验证码已发送至 1011819146@qq.com,请到邮箱查收验证码,并输入 /ml v 四位数验证码 完成绑定
/ml v 1234
→ 邮箱绑定成功: 1011819146@qq.com
[玩家连接服务器,进入"已找到会话"界面]
→ [c/FF6B6B:═══════════════════════════════]
→ [c/FFD93D: 邮箱验证 required]
→ [c/FFFFFF: 本服务器要求绑定邮箱才能进入]
→ [c/AAAAAA: 请在聊天框输入你的邮箱地址]
→ [c/AAAAAA: 格式示例: 123456@qq.com]
→ [c/FF6B6B:═══════════════════════════════]
玩家输入: 1011819146@qq.com
→ [c/6BCB77:验证码已发送至 1011819146@qq.com]
→ [c/FFFFFF: 请查收邮件并在聊天框输入验证码]
→ [c/AAAAAA: 验证码将在60秒后过期]
玩家输入: 1234
→ [c/6BCB77:邮箱验证成功!正在进入服务器...]
→ [c/6BCB77:绑定邮箱: 1011819146@qq.com]
- 优化命令显示效果
- 支持验证码防刷、黑名单、广播等
- 是的,我把版本号从2.3.0改成了1.0.0()
- 优先 -> 我们家族没落了喵...
- 次优先:TShock官方群:816771079