alps/smtp.go

36 lines
681 B
Go
Raw Normal View History

2020-05-13 12:07:44 +00:00
package alps
2019-12-03 15:27:49 +00:00
import (
"fmt"
"github.com/emersion/go-smtp"
)
func (s *Server) dialSMTP() (*smtp.Client, error) {
if s.smtp.host == "" {
return nil, fmt.Errorf("SMTP is disabled")
2019-12-03 17:41:23 +00:00
}
2019-12-03 15:27:49 +00:00
var c *smtp.Client
var err error
if s.smtp.tls {
c, err = smtp.DialTLS(s.smtp.host, nil)
if err != nil {
return nil, fmt.Errorf("failed to connect to SMTPS server: %v", err)
}
} else {
c, err = smtp.Dial(s.smtp.host)
if err != nil {
return nil, fmt.Errorf("failed to connect to SMTP server: %v", err)
}
if !s.smtp.insecure {
if err := c.StartTLS(nil); err != nil {
c.Close()
return nil, fmt.Errorf("STARTTLS failed: %v", err)
}
}
}
return c, err
}