Files
mailx/interfaces/options.go
T
2025-07-27 22:13:01 +08:00

38 lines
712 B
Go

package interfaces
import (
"context"
"github.com/yuninks/loggerx"
)
type emailOption struct {
logger loggerx.LoggerInterface
Smtp *EmailConfigDataSmtp `json:"smtp,omitempty"` // smtp
Aws *EmailConfigDataAws `json:"aws,omitempty"` // 亚马逊
Aliyun *EmialConfigDataAliyun `json:"aliyun,omitempty"` // 阿里云
Mailgun *EmialConfigDataMailgun `json:"mailgun,omitempty"` // mailgun
}
func defaultOptions() emailOption {
ctx := context.Background()
return emailOption{
logger: loggerx.NewLogger(ctx),
}
}
type Option func(*emailOption)
// 设置日志
func SetLogger(logger loggerx.LoggerInterface) Option {
return func(o *emailOption) {
o.logger = logger
}
}