admin/sql/migrate_t_system_batch_email.sql
zzh e4894f9627 feat: 批量发送邮件 API(模板、SMTP 配置、发送记录)
新增模板/账号持久化、SMTP 测试与单封发送接口,发送成功后写入邮件记录表供前端列表展示。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 19:56:35 +08:00

55 lines
3.1 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- 批量发送邮件:模板与 SMTP 账号配置
CREATE TABLE IF NOT EXISTS `t_system_batch_email_template` (
`Id` INT NOT NULL AUTO_INCREMENT COMMENT '主键',
`OwnerUserId` INT NOT NULL DEFAULT 0 COMMENT '所属 RBAC 用户 Id',
`TemplateName` VARCHAR(128) NOT NULL COMMENT '模板名称',
`Subject` VARCHAR(512) NOT NULL DEFAULT '' COMMENT '邮件主题',
`Content` TEXT NOT NULL COMMENT '邮件正文',
`SortOrder` INT NOT NULL DEFAULT 0 COMMENT '排序',
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
`ConcurrencyStamp` CHAR(36) NOT NULL DEFAULT (UUID()) COMMENT '并发戳',
`CreateUserId` INT NOT NULL DEFAULT 0 COMMENT '创建人',
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`UpdateUserId` INT NULL COMMENT '更新人',
`UpdateTime` DATETIME NULL COMMENT '更新时间',
PRIMARY KEY (`Id`),
UNIQUE KEY `uk_batch_email_tpl_owner_name` (`OwnerUserId`, `TemplateName`),
KEY `idx_batch_email_tpl_owner` (`OwnerUserId`, `SortOrder`, `Id`)
) COMMENT='批量发送邮件模板';
CREATE TABLE IF NOT EXISTS `t_system_batch_email_account` (
`Id` INT NOT NULL AUTO_INCREMENT COMMENT '主键',
`OwnerUserId` INT NOT NULL DEFAULT 0 COMMENT '所属 RBAC 用户 Id',
`SmtpUsername` VARCHAR(256) NOT NULL COMMENT 'SMTP 账号',
`SmtpPassword` VARCHAR(512) NOT NULL COMMENT 'SMTP 密码/授权码',
`ServerType` VARCHAR(32) NOT NULL DEFAULT 'qiye' COMMENT 'SMTP 类型',
`FromName` VARCHAR(128) NULL COMMENT '发件人显示名',
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
`ConcurrencyStamp` CHAR(36) NOT NULL DEFAULT (UUID()) COMMENT '并发戳',
`CreateUserId` INT NOT NULL DEFAULT 0 COMMENT '创建人',
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`UpdateUserId` INT NULL COMMENT '更新人',
`UpdateTime` DATETIME NULL COMMENT '更新时间',
PRIMARY KEY (`Id`),
UNIQUE KEY `uk_batch_email_account_owner` (`OwnerUserId`)
) COMMENT='批量发送邮件 SMTP 账号配置';
CREATE TABLE IF NOT EXISTS `t_system_batch_email_record` (
`Id` INT NOT NULL AUTO_INCREMENT COMMENT '主键',
`OwnerUserId` INT NOT NULL DEFAULT 0 COMMENT '所属 RBAC 用户 Id',
`ToEmail` VARCHAR(256) NOT NULL COMMENT '收件邮箱',
`Subject` VARCHAR(512) NOT NULL DEFAULT '' COMMENT '邮件主题',
`Content` TEXT NOT NULL COMMENT '邮件正文',
`SendTime` DATETIME NOT NULL COMMENT '发送时间',
`Sender` VARCHAR(128) NOT NULL DEFAULT '' COMMENT '发送人',
`SenderEmail` VARCHAR(256) NULL COMMENT '发件邮箱',
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
`ConcurrencyStamp` CHAR(36) NOT NULL DEFAULT (UUID()) COMMENT '并发戳',
`CreateUserId` INT NOT NULL DEFAULT 0 COMMENT '创建人',
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`UpdateUserId` INT NULL COMMENT '更新人',
`UpdateTime` DATETIME NULL COMMENT '更新时间',
PRIMARY KEY (`Id`),
KEY `idx_batch_email_record_owner_time` (`OwnerUserId`, `SendTime`, `Id`)
) COMMENT='批量发送邮件记录';