mirror of
https://github.com/decke/smtprelay.git
synced 2025-12-25 07:43:06 -07:00
Implement SMTPS support
This commit is contained in:
23
smtp.go
23
smtp.go
@@ -326,7 +326,27 @@ func SendMail(addr string, a smtp.Auth, from string, to []string, msg []byte) er
|
||||
return err
|
||||
}
|
||||
}
|
||||
c, err := Dial(addr)
|
||||
host, port, err := net.SplitHostPort(addr)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
var c *Client
|
||||
if port == "465" || port == "smtps" {
|
||||
config := &tls.Config{ServerName: host}
|
||||
conn, err := tls.Dial("tcp", addr, config)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer conn.Close()
|
||||
c, err = NewClient(conn, host)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if err = c.hello(); err != nil {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
c, err = Dial(addr)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -343,6 +363,7 @@ func SendMail(addr string, a smtp.Auth, from string, to []string, msg []byte) er
|
||||
return err
|
||||
}
|
||||
}
|
||||
}
|
||||
if a != nil && c.ext != nil {
|
||||
if _, ok := c.ext["AUTH"]; !ok {
|
||||
return errors.New("smtp: server doesn't support AUTH")
|
||||
|
||||
Reference in New Issue
Block a user