diff options
Diffstat (limited to 'internal/email')
-rw-r--r-- | internal/email/noopsender.go | 6 | ||||
-rw-r--r-- | internal/email/sender.go | 20 |
2 files changed, 19 insertions, 7 deletions
diff --git a/internal/email/noopsender.go b/internal/email/noopsender.go index 82eb8db44..d2c9bbb1b 100644 --- a/internal/email/noopsender.go +++ b/internal/email/noopsender.go @@ -23,13 +23,17 @@ import ( "html/template" "github.com/sirupsen/logrus" + "github.com/spf13/viper" + "github.com/superseriousbusiness/gotosocial/internal/config" ) // NewNoopSender returns a no-op email sender that will just execute the given sendCallback // every time it would otherwise send an email to the given toAddress with the given message value. // // Passing a nil function is also acceptable, in which case the send functions will just return nil. -func NewNoopSender(templateBaseDir string, sendCallback func(toAddress string, message string)) (Sender, error) { +func NewNoopSender(sendCallback func(toAddress string, message string)) (Sender, error) { + templateBaseDir := viper.GetString(config.Keys.WebTemplateBaseDir) + t, err := loadTemplates(templateBaseDir) if err != nil { return nil, err diff --git a/internal/email/sender.go b/internal/email/sender.go index a6a9abe55..546a5e9ce 100644 --- a/internal/email/sender.go +++ b/internal/email/sender.go @@ -23,6 +23,7 @@ import ( "html/template" "net/smtp" + "github.com/spf13/viper" "github.com/superseriousbusiness/gotosocial/internal/config" ) @@ -36,18 +37,25 @@ type Sender interface { } // NewSender returns a new email Sender interface with the given configuration, or an error if something goes wrong. -func NewSender(cfg *config.Config) (Sender, error) { - t, err := loadTemplates(cfg.TemplateConfig.BaseDir) +func NewSender() (Sender, error) { + keys := config.Keys + + templateBaseDir := viper.GetString(keys.WebTemplateBaseDir) + t, err := loadTemplates(templateBaseDir) if err != nil { return nil, err } - auth := smtp.PlainAuth("", cfg.SMTPConfig.Username, cfg.SMTPConfig.Password, cfg.SMTPConfig.Host) + username := viper.GetString(keys.SMTPUsername) + password := viper.GetString(keys.SMTPPassword) + host := viper.GetString(keys.SMTPHost) + port := viper.GetInt(keys.SMTPPort) + from := viper.GetString(keys.SMTPFrom) return &sender{ - hostAddress: fmt.Sprintf("%s:%d", cfg.SMTPConfig.Host, cfg.SMTPConfig.Port), - from: cfg.SMTPConfig.From, - auth: auth, + hostAddress: fmt.Sprintf("%s:%d", host, port), + from: from, + auth: smtp.PlainAuth("", username, password, host), template: t, }, nil } |