setting smtp host requires valid tcp connection or panic
This commit is contained in:
parent
c3e3b1344f
commit
38ff1e439c
1 changed files with 20 additions and 8 deletions
|
|
@ -35,26 +35,38 @@ func NewMailer() (*Mailer, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
smtpHost := viper.GetString("email_smtp_host")
|
smtp := struct {
|
||||||
smtpPort := viper.GetInt("email_smtp_port")
|
Host string
|
||||||
smtpUser := viper.GetString("email_smtp_user")
|
Port int
|
||||||
smtpPass := viper.GetString("email_smtp_password")
|
User string
|
||||||
|
Password string
|
||||||
|
}{
|
||||||
|
viper.GetString("email_smtp_host"),
|
||||||
|
viper.GetInt("email_smtp_port"),
|
||||||
|
viper.GetString("email_smtp_user"),
|
||||||
|
viper.GetString("email_smtp_password"),
|
||||||
|
}
|
||||||
|
|
||||||
s := &Mailer{
|
s := &Mailer{
|
||||||
client: gomail.NewPlainDialer(smtpHost, smtpPort, smtpUser, smtpPass),
|
client: gomail.NewPlainDialer(smtp.Host, smtp.Port, smtp.User, smtp.Password),
|
||||||
templates: templates,
|
templates: templates,
|
||||||
from: viper.GetString("email_from_address"),
|
from: viper.GetString("email_from_address"),
|
||||||
fromName: viper.GetString("email_from_name"),
|
fromName: viper.GetString("email_from_name"),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if smtp.Host == "" {
|
||||||
|
log.Println("SMTP host not set => printing emails to stdout")
|
||||||
|
debug = true
|
||||||
|
return s, nil
|
||||||
|
}
|
||||||
|
|
||||||
d, err := s.client.Dial()
|
d, err := s.client.Dial()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println("SMTP error:", err)
|
return nil, err
|
||||||
log.Println("printing emails to stdout")
|
|
||||||
debug = true
|
|
||||||
} else {
|
} else {
|
||||||
d.Close()
|
d.Close()
|
||||||
}
|
}
|
||||||
|
|
||||||
return s, nil
|
return s, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue