diff --git a/email.go b/email.go index 0ec0dcb..76dc4cd 100644 --- a/email.go +++ b/email.go @@ -58,9 +58,10 @@ func sendAlertEmail(settings EmailSettings, alerts []Alert, test bool) error { } message := []byte("From: " + settings.From + "\r\nTo: " + settings.To + "\r\nSubject: " + subject + "\r\nMIME-Version: 1.0\r\nContent-Type: text/plain; charset=UTF-8\r\nContent-Transfer-Encoding: 8bit\r\n\r\n" + body + "\r\n") address := net.JoinHostPort(settings.Host, fmt.Sprint(settings.Port)) + tlsConfig := &tls.Config{ServerName: settings.Host, MinVersion: tls.VersionTLS12, InsecureSkipVerify: settings.SkipTLSVerify} //nolint:gosec -- explicit private-network option var client *smtp.Client if settings.Port == 465 { - connection, err := tls.Dial("tcp", address, &tls.Config{ServerName: settings.Host, MinVersion: tls.VersionTLS12}) + connection, err := tls.Dial("tcp", address, tlsConfig) if err != nil { return err } @@ -75,7 +76,7 @@ func sendAlertEmail(settings EmailSettings, alerts []Alert, test bool) error { return err } if ok, _ := client.Extension("STARTTLS"); ok { - if err = client.StartTLS(&tls.Config{ServerName: settings.Host, MinVersion: tls.VersionTLS12}); err != nil { + if err = client.StartTLS(tlsConfig); err != nil { return err } } diff --git a/store.go b/store.go index 9853017..825ea12 100644 --- a/store.go +++ b/store.go @@ -67,6 +67,7 @@ type EmailSettings struct { Username string `json:"username"` Password string `json:"password,omitempty"` HasPassword bool `json:"hasPassword"` + SkipTLSVerify bool `json:"skipTlsVerify"` From string `json:"from"` To string `json:"to"` IntervalMinutes int `json:"intervalMinutes"` diff --git a/web.go b/web.go index a14869c..185e98d 100644 --- a/web.go +++ b/web.go @@ -378,7 +378,7 @@ footer{color:#657581;font-size:12px;margin-top:17px}
Настройки хранятся на сервере и применяются для всех браузеров.