📋 表概述

mail_server_template 表是服务端自动邮件模板的核心表,用于定义由服务器自动发送给玩家的奖励邮件或系统邮件模板。每行定义了一封邮件的金币奖励、主题和正文内容。

主键为 id(自增主键)。该表与 mail_server_template_conditionsmail_server_template_items 配合使用,构成完整的服务端邮件奖励系统。

📊 表结构

字段名类型默认值说明
idint UNSIGNEDAUTO_INCREMENT模板唯一ID(主键,自增)
moneyAint UNSIGNED0联盟玩家获得的铜币数量
moneyHint UNSIGNED0部落玩家获得的铜币数量
subjecttextNOT NULL邮件主题(支持多语言)
bodytextNOT NULL邮件正文内容(支持多语言和变量)
activetinyint UNSIGNED1是否启用(0=禁用,1=启用)

🔍 重要字段详解

💰 moneyA / moneyH - 分阵营金币

详细说明:两个字段分别设置联盟和部落玩家收到的金币数量,以铜币为单位。
  • moneyA - 联盟阵营玩家获得的金币(10000=1金)
  • moneyH - 部落阵营玩家获得的金币
  • 可设置不同值:例如联盟100金、部落50金
  • 如果某阵营设为0,则该阵营玩家不收到金币
💡 示例:联盟100金、部落50金 → moneyA=1000000, moneyH=500000

📝 subject / body - 邮件内容

详细说明:定义邮件主题和正文,支持中文和游戏内变量。
  • subject - 邮件标题,玩家在邮箱列表中看到的内容
  • body - 邮件正文,可以是多行文本
  • 多语言支持:通过中文直接写入即可
  • 可使用 $N$C 等游戏内变量自动替换

🔛 active - 启用开关

详细说明:控制模板是否生效的开关。
  • 0 = 禁用(服务器不会发送此模板邮件)
  • 1 = 启用(满足条件时自动发送)
  • 默认为1,创建后自动启用

💡 SQL示例

示例1:创建欢迎邮件模板

INSERT INTO mail_server_template (moneyA, moneyH, subject, body, active) VALUES (10000, 10000, '欢迎来到艾泽拉斯!', '尊敬的冒险者,感谢您加入我们的服务器。附上1金作为启程礼物,祝您游戏愉快!', 1);

示例2:查询所有启用的模板

SELECT id, FLOOR(moneyA / 10000) AS alliance_gold, FLOOR(moneyH / 10000) AS horde_gold, subject, active FROM mail_server_template WHERE active = 1 ORDER BY id;

示例3:更新模板金币奖励

-- 将模板ID=1的联盟金币改为200金 UPDATE mail_server_template SET moneyA = 2000000 WHERE id = 1;

❓ 常见问题

Q1: moneyA 和 moneyH 都设置为0会怎样?
邮件仍然会发送,但不会附带金币。适合发送纯信息通知类邮件。
Q2: 如果玩家已收到过某模板邮件,会重复发送吗?
会。邮件模板本身不限制发送次数。如需防止重复发送,需要配合 mail_server_character 表记录已发送记录。