38 lines
712 B
Go
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
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|