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 } }