(client *smtp.Client, config SMTPConfig, toList []string, msg string)
| 230 | } |
| 231 | |
| 232 | func sendEmailWithClient(client *smtp.Client, config SMTPConfig, toList []string, msg string) error { |
| 233 | if err := client.Mail(config.Sender); err != nil { |
| 234 | return fmt.Errorf("setting sender failed: %w", err) |
| 235 | } |
| 236 | for _, addr := range toList { |
| 237 | if err := client.Rcpt(addr); err != nil { |
| 238 | return fmt.Errorf("adding recipient %s failed: %w", addr, err) |
| 239 | } |
| 240 | } |
| 241 | w, err := client.Data() |
| 242 | if err != nil { |
| 243 | return fmt.Errorf("preparing data failed: %w", err) |
| 244 | } |
| 245 | defer w.Close() |
| 246 | |
| 247 | if _, err := w.Write([]byte(msg)); err != nil { |
| 248 | return fmt.Errorf("writing message failed: %w", err) |
| 249 | } |
| 250 | |
| 251 | return nil |
| 252 | } |
| 253 | |
| 254 | func tryAuth(client *smtp.Client, username, password, host string) error { |
| 255 | ok, authCap := client.Extension("AUTH") |
no test coverage detected