BaseEmail

package
v5.1.39 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 6, 2024 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateTemplate

func CreateTemplate(args *ArgsCreateTemplate) (err error)

CreateTemplate 创建模板

func DeleteEmailByID

func DeleteEmailByID(args *ArgsDeleteEmailByID) (err error)

DeleteEmailByID 删除消息

func DeleteServerByID

func DeleteServerByID(args *ArgsDeleteServerByID) (err error)

DeleteServerByID 删除发送方

func DeleteTemplate

func DeleteTemplate(args *ArgsDeleteTemplate) (err error)

DeleteTemplate 删除模板

func Run

func Run()

Run 自动维护工具

func SendTemplate

func SendTemplate(args *ArgsSendTemplate) (err error)

SendTemplate 采用模板发送邮件

func UpdateServer

func UpdateServer(args *ArgsUpdateServer) (err error)

UpdateServer 更新发送方信息

func UpdateTemplate

func UpdateTemplate(args *ArgsUpdateTemplate) (err error)

UpdateTemplate 修改模板

Types

type ArgsCreateServer

type ArgsCreateServer struct {
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
	//名称
	Name string `db:"name" json:"name" check:"name"`
	//Host
	Host string `db:"host" json:"host"`
	//端口
	// 可以留空,将自动指定默认
	Port string `db:"port" json:"port"`
	//是否为SSL方式连接
	IsSSL bool `db:"is_ssl" json:"isSSL" check:"bool"`
	//邮件地址
	Email string `db:"email" json:"email" check:"email"`
	//密码
	Password string `db:"password" json:"password"`
	//扩展参数
	Params CoreSQLConfig.FieldsConfigsType `db:"params" json:"params"`
}

ArgsCreateServer 创建新的发送方参数

type ArgsCreateTemplate

type ArgsCreateTemplate struct {
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
	//计划使用的邮箱配置列
	// 多个配置将随机抽取一个发送
	ServerIDs pq.Int64Array `db:"server_ids" json:"serverIDs" check:"ids" empty:"true"`
	//标题
	Title string `db:"title" json:"title" check:"name"`
	//内容
	// 将强制邮件采用HTML模式发送,此处存放HTML内容
	// 相关变量根据模块的约定执行
	Content string `db:"content" json:"content" check:"des" min:"1" max:"3000" empty:"true"`
	//扩展参数
	Params CoreSQLConfig.FieldsConfigsType `db:"params" json:"params"`
}

ArgsCreateTemplate 创建模板参数

type ArgsDeleteEmailByID

type ArgsDeleteEmailByID struct {
	//ID
	ID int64 `db:"id"`
}

ArgsDeleteEmailByID 删除消息参数

type ArgsDeleteServerByID

type ArgsDeleteServerByID struct {
	//ID
	ID int64 `db:"id" check:"id"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
}

ArgsDeleteServerByID 删除发送方参数

type ArgsDeleteTemplate

type ArgsDeleteTemplate struct {
	//ID
	ID int64 `db:"id" json:"id" check:"id" check:"id"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
}

ArgsDeleteTemplate 删除模板参数

type ArgsGetEmailByID

type ArgsGetEmailByID struct {
	//ID
	ID int64
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
}

ArgsGetEmailByID 获取某个数据参数

type ArgsGetEmailList

type ArgsGetEmailList struct {
	//分页
	Pages CoreSQLPages.ArgsDataList
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
	//是否成功
	IsSuccess bool
	//来源
	CreateInfo CoreSQLFrom.FieldsFrom
	//送达邮件搜索
	ToEmailSearch string
	//搜索
	Search string
}

ArgsGetEmailList 获取列表参数

type ArgsGetServerByID

type ArgsGetServerByID struct {
	//ID
	ID int64 `db:"id" json:"id" check:"id"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
}

ArgsGetServerByID 获取发送方参数

type ArgsGetServerList

type ArgsGetServerList struct {
	//分页
	Pages CoreSQLPages.ArgsDataList `json:"pages"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
	//搜索
	Search string `json:"search" check:"search" empty:"true"`
}

ArgsGetServerList 获取发送列表参数

type ArgsGetTemplate

type ArgsGetTemplate struct {
	//ID
	ID int64 `db:"id" json:"id" check:"id" check:"id"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
}

type ArgsGetTemplateList

type ArgsGetTemplateList struct {
	//分页
	Pages CoreSQLPages.ArgsDataList `json:"pages"`
	//组织ID
	// -1 跳过
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
	//是否删除
	IsRemove bool `db:"is_remove" json:"isRemove" check:"bool"`
	//搜索
	Search string `json:"search" check:"search" empty:"true"`
}

ArgsGetTemplateList 获取模板列表参数

type ArgsSend

type ArgsSend struct {
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
	//服务配置ID
	ServerID int64
	//创建来源
	CreateInfo CoreSQLFrom.FieldsFrom
	//计划送达时间
	SendAt time.Time
	//目标邮件地址
	ToEmail string
	//标题
	Title string
	//内容
	Content string
	//是否包含HTML
	IsHtml bool
}

ArgsSend 申请发送一份邮件参数

type ArgsSendTemplate

type ArgsSendTemplate struct {
	//ID
	ID int64 `db:"id" json:"id" check:"id" check:"id"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
	//替换的数据集合
	ReplaceData CoreSQLConfig.FieldsConfigsType `json:"replaceData"`
	//创建来源
	CreateInfo CoreSQLFrom.FieldsFrom `json:"createInfo"`
	//计划送达时间
	SendAt time.Time `json:"sendAt"`
	//发送邮箱地址列
	ToEmailList []string `json:"toEmailList"`
}

ArgsSendTemplate 采用模板发送邮件参数

type ArgsUpdateServer

type ArgsUpdateServer struct {
	//ID
	ID int64 `db:"id" check:"id"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
	//名称
	Name string `db:"name" json:"name" check:"name"`
	//Host
	Host string `db:"host" json:"host"`
	//端口
	// 可以留空,将自动指定默认
	Port string `db:"port" json:"port"`
	//是否为SSL方式连接
	IsSSL bool `db:"is_ssl" json:"isSSL" check:"bool"`
	//邮件地址
	Email string `db:"email" json:"email" check:"email"`
	//密码
	Password string `db:"password" json:"password"`
	//扩展参数
	Params CoreSQLConfig.FieldsConfigsType `db:"params" json:"params"`
}

ArgsUpdateServer 更新发送方信息参数

type ArgsUpdateTemplate

type ArgsUpdateTemplate struct {
	//ID
	ID int64 `db:"id" json:"id" check:"id" check:"id"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
	//计划使用的邮箱配置列
	// 多个配置将随机抽取一个发送
	ServerIDs pq.Int64Array `db:"server_ids" json:"serverIDs" check:"ids" empty:"true"`
	//标题
	Title string `db:"title" json:"title" check:"name"`
	//内容
	// 将强制邮件采用HTML模式发送,此处存放HTML内容
	// 相关变量根据模块的约定执行
	Content string `db:"content" json:"content" check:"des" min:"1" max:"3000" empty:"true"`
	//扩展参数
	Params CoreSQLConfig.FieldsConfigsType `db:"params" json:"params"`
}

ArgsUpdateTemplate 修改模板参数

type FieldsEmailServerType

type FieldsEmailServerType struct {
	//ID
	ID int64 `db:"id" json:"id"`
	//创建时间
	CreateAt time.Time `db:"create_at" json:"createAt"`
	//更新时间
	UpdateAt time.Time `db:"update_at" json:"updateAt"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID"`
	//显示的名称
	Name string `db:"name" json:"name"`
	//host
	Host string `db:"host" json:"host"`
	//端口
	Port string `db:"port" json:"port"`
	//是否启用SSL
	IsSSL bool `db:"is_ssl" json:"isSSL"`
	//发件方邮件地址和用户名
	Email string `db:"email" json:"email"`
	//密码
	Password string `db:"password" json:"password"`
	//扩展参数
	Params CoreSQLConfig.FieldsConfigsType `db:"params" json:"params"`
}

FieldsEmailServerType 发送渠道

func CreateServer

func CreateServer(args *ArgsCreateServer) (data FieldsEmailServerType, err error)

CreateServer 创建新的发送方 如果启动ssl且没有给予端口,则自动采用默认465 如果没有启动ssl,且没有端口号,则默认采用25

func GetServerByID

func GetServerByID(args *ArgsGetServerByID) (data FieldsEmailServerType, err error)

GetServerByID 获取发送方

func GetServerList

func GetServerList(args *ArgsGetServerList) (dataList []FieldsEmailServerType, dataCount int64, err error)

GetServerList 获取发送列表

type FieldsEmailType

type FieldsEmailType struct {
	//ID
	ID int64 `db:"id" json:"id"`
	//创建时间
	CreateAt time.Time `db:"create_at" json:"createAt"`
	//更新时间
	UpdateAt time.Time `db:"update_at" json:"updateAt"`
	//删除时间
	DeleteAt time.Time `db:"delete_at" json:"deleteAt"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID"`
	//使用的发送渠道ID
	ServerID int64 `db:"server_id" json:"serverID"`
	//创建来源和创建来源ID
	CreateInfo CoreSQLFrom.FieldsFrom `db:"create_info" json:"createInfo"`
	//预计发送时间
	SendAt time.Time `db:"send_at" json:"sendAt"`
	//是否已经发送?
	IsSuccess bool `db:"is_success" json:"isSuccess"`
	//是否发送失败
	IsFailed bool `db:"is_failed" json:"isFailed"`
	//失败原因
	FailMessage string `db:"fail_message" json:"failMessage"`
	//标题
	Title string `db:"title" json:"title"`
	//内容
	Content string `db:"content" json:"content"`
	//文本类型
	// text / html
	ContentType string `db:"content_type" json:"contentType"`
	//目标人
	ToEmail string `db:"to_email" json:"toEmail"`
}

FieldsEmailType 等待发送的数据

func GetEmailByID

func GetEmailByID(args *ArgsGetEmailByID) (data FieldsEmailType, err error)

GetEmailByID 获取某个数据

func GetEmailList

func GetEmailList(args *ArgsGetEmailList) (dataList []FieldsEmailType, dataCount int64, err error)

GetEmailList 获取列表

func Send

func Send(args *ArgsSend) (data FieldsEmailType, err error)

Send 申请发送一份邮件

type FieldsTemplate

type FieldsTemplate struct {
	//ID
	ID int64 `db:"id" json:"id"`
	//创建时间
	CreateAt time.Time `db:"create_at" json:"createAt"`
	//更新时间
	UpdateAt time.Time `db:"update_at" json:"updateAt"`
	//删除时间
	DeleteAt time.Time `db:"delete_at" json:"deleteAt"`
	//组织ID
	// 留空则表明为平台的用户留下的内容
	OrgID int64 `db:"org_id" json:"orgID"`
	//计划使用的邮箱配置列
	// 多个配置将随机抽取一个发送
	ServerIDs pq.Int64Array `db:"server_ids" json:"serverIDs"`
	//标题
	Title string `db:"title" json:"title"`
	//内容
	// 将强制邮件采用HTML模式发送,此处存放HTML内容
	// 相关变量根据模块的约定执行
	Content string `db:"content" json:"content"`
	//扩展参数
	Params CoreSQLConfig.FieldsConfigsType `db:"params" json:"params"`
}

FieldsTemplate 模板组件 可以为各种模块声明模板,提供特定的邮件内容

func GetTemplate

func GetTemplate(args *ArgsGetTemplate) (data FieldsTemplate, err error)

func GetTemplateList

func GetTemplateList(args *ArgsGetTemplateList) (dataList []FieldsTemplate, dataCount int64, err error)

GetTemplateList 获取模板列表

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL