深化smtp文件的支持

This commit is contained in:
Yun
2025-11-21 14:01:43 +08:00
parent f2b8345e93
commit b3a87d0b54
16 changed files with 2075 additions and 200 deletions
+9 -9
View File
@@ -6,7 +6,7 @@ import (
"github.com/yuninks/loggerx"
)
type EmailOption struct {
type Options struct {
Logger loggerx.LoggerInterface
Smtp *EmailConfigDataSmtp `json:"smtp,omitempty"` // smtp
@@ -15,42 +15,42 @@ type EmailOption struct {
Mailgun *EmialConfigDataMailgun `json:"mailgun,omitempty"` // mailgun
}
func DefaultOptions() EmailOption {
func DefaultOptions() Options {
ctx := context.Background()
return EmailOption{
return Options{
Logger: loggerx.NewLogger(ctx),
}
}
type Option func(*EmailOption)
type Option func(*Options)
// 设置日志
func SetLogger(logger loggerx.LoggerInterface) Option {
return func(o *EmailOption) {
return func(o *Options) {
o.Logger = logger
}
}
func SetSmtp(smtp *EmailConfigDataSmtp) Option {
return func(o *EmailOption) {
return func(o *Options) {
o.Smtp = smtp
}
}
func SetAws(aws *EmailConfigDataAws) Option {
return func(o *EmailOption) {
return func(o *Options) {
o.Aws = aws
}
}
func SetAliyun(aliyun *EmialConfigDataAliyun) Option {
return func(o *EmailOption) {
return func(o *Options) {
o.Aliyun = aliyun
}
}
func SetMailgun(mailgun *EmialConfigDataMailgun) Option {
return func(o *EmailOption) {
return func(o *Options) {
o.Mailgun = mailgun
}
}