新增模板/账号持久化、SMTP 测试与单封发送接口,发送成功后写入邮件记录表供前端列表展示。 Co-authored-by: Cursor <cursoragent@cursor.com>
55 lines
3.1 KiB
SQL
55 lines
3.1 KiB
SQL
-- 批量发送邮件:模板与 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='批量发送邮件记录';
|