From 04bdd98d6fc668aefb9c524656cf477b71782778 Mon Sep 17 00:00:00 2001 From: Yun Date: Fri, 21 Nov 2025 15:16:58 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E4=B8=80=E4=B8=8B=E9=85=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- interfaces/consts.go | 8 +++++++- interfaces/options.go | 11 +++++++---- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/interfaces/consts.go b/interfaces/consts.go index 2f29b5c..ff01fd2 100644 --- a/interfaces/consts.go +++ b/interfaces/consts.go @@ -1,6 +1,5 @@ package interfaces - type EmailType string const ( @@ -10,6 +9,13 @@ const ( EmailTypeSmtp EmailType = "smtp" ) +type EmialConfig struct { + Smtp *EmailConfigDataSmtp `json:"smtp,omitempty"` // smtp + Aws *EmailConfigDataAws `json:"aws,omitempty"` // 亚马逊 + Aliyun *EmialConfigDataAliyun `json:"aliyun,omitempty"` // 阿里云 + Mailgun *EmialConfigDataMailgun `json:"mailgun,omitempty"` // mailgun +} + type EmialConfigDataMailgun struct { ApiKey string `json:"api_key"` // mailgun api key Domain string `json:"domain"` // mailgun domain diff --git a/interfaces/options.go b/interfaces/options.go index 497c5f5..91231b0 100644 --- a/interfaces/options.go +++ b/interfaces/options.go @@ -9,10 +9,7 @@ import ( type Options 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 + EmialConfig } func DefaultOptions() Options { @@ -31,6 +28,12 @@ func SetLogger(logger loggerx.LoggerInterface) Option { } } +func SetEmialConfig(emialConfig EmialConfig) Option { + return func(o *Options) { + o.EmialConfig = emialConfig + } +} + func SetSmtp(smtp *EmailConfigDataSmtp) Option { return func(o *Options) { o.Smtp = smtp