@@ -43,6 +43,7 @@ type (
|
||||
Timeout time.Duration
|
||||
User string
|
||||
Password string
|
||||
TLSRequired bool
|
||||
}
|
||||
)
|
||||
|
||||
@@ -90,6 +91,12 @@ func (m *Mailer) sendMailWithTimeout(ctx context.Context, to []string, msg []byt
|
||||
}
|
||||
defer c.Quit()
|
||||
|
||||
if m.cfg.TLSRequired {
|
||||
if err := c.StartTLS(nil); err != nil {
|
||||
return fmt.Errorf("TLS negotiation error: %w", err)
|
||||
}
|
||||
}
|
||||
|
||||
if m.cfg.User != "" && m.cfg.Password != "" {
|
||||
auth := smtp.PlainAuth("", m.cfg.User, m.cfg.Password, host)
|
||||
if err = c.Auth(auth); err != nil {
|
||||
|
||||
@@ -25,5 +25,6 @@ type (
|
||||
Addr string `json:"addr"`
|
||||
User string `json:"user"`
|
||||
Password string `json:"password"`
|
||||
TLSRequired bool `json:"tls-required"`
|
||||
}
|
||||
)
|
||||
|
||||
@@ -222,6 +222,7 @@ func (impl *Implm) Run(
|
||||
Addr: impl.cfg.Mailer.SMTP.Addr,
|
||||
User: impl.cfg.Mailer.SMTP.User,
|
||||
Password: impl.cfg.Mailer.SMTP.Password,
|
||||
TLSRequired: impl.cfg.Mailer.SMTP.TLSRequired,
|
||||
Timeout: time.Second * 10,
|
||||
})
|
||||
wg.Add(1)
|
||||
|
||||
Reference in New Issue
Block a user