|
@@ -13,14 +13,15 @@ const emName = "email"
|
|
|
|
|
|
// Server represents an SMTP server's credentials.
|
|
|
type Server struct {
|
|
|
- Name string
|
|
|
- Host string `koanf:"host"`
|
|
|
- Port int `koanf:"port"`
|
|
|
- AuthProtocol string `koanf:"auth_protocol"`
|
|
|
- Username string `koanf:"username"`
|
|
|
- Password string `koanf:"password"`
|
|
|
- SendTimeout time.Duration `koanf:"send_timeout"`
|
|
|
- MaxConns int `koanf:"max_conns"`
|
|
|
+ Name string
|
|
|
+ Host string `koanf:"host"`
|
|
|
+ Port int `koanf:"port"`
|
|
|
+ AuthProtocol string `koanf:"auth_protocol"`
|
|
|
+ Username string `koanf:"username"`
|
|
|
+ Password string `koanf:"password"`
|
|
|
+ HelloHostname string `koanf:"hello_hostname"`
|
|
|
+ SendTimeout time.Duration `koanf:"send_timeout"`
|
|
|
+ MaxConns int `koanf:"max_conns"`
|
|
|
|
|
|
mailer *email.Pool
|
|
|
}
|
|
@@ -52,6 +53,11 @@ func NewEmailer(srv ...Server) (Messenger, error) {
|
|
|
return nil, err
|
|
|
}
|
|
|
|
|
|
+ // Optional SMTP HELLO hostname.
|
|
|
+ if server.HelloHostname != "" {
|
|
|
+ pool.SetHelloHostname(server.HelloHostname)
|
|
|
+ }
|
|
|
+
|
|
|
s.mailer = pool
|
|
|
e.servers[s.Name] = &s
|
|
|
e.serverNames = append(e.serverNames, s.Name)
|