Correct the fallbacks for mailer configuration (#21945)
Unfortunately the fallback configuration code for [mailer] that were added in #18982 are incorrect. When you read a value from an ini section that key is added. This leads to a failure of the fallback mechanism. Further there is also a spelling mistake in the startTLS configuration. This PR restructures the mailer code to first map the deprecated settings on to the new ones - and then use ini.MapTo to map those on to the struct with additional validation as necessary. Ref #21744 Signed-off-by: Andrew Thornton <art27@cantab.net>
This commit is contained in:
parent
32590db4ca
commit
f6fd501841
5 changed files with 96 additions and 94 deletions
|
@ -166,7 +166,7 @@ func (s *smtpSender) Send(from string, to []string, msg io.WriterTo) error {
|
|||
defer conn.Close()
|
||||
|
||||
var tlsconfig *tls.Config
|
||||
if opts.Protocol == "smtps" || opts.Protocol == "smtp+startls" {
|
||||
if opts.Protocol == "smtps" || opts.Protocol == "smtp+starttls" {
|
||||
tlsconfig = &tls.Config{
|
||||
InsecureSkipVerify: opts.ForceTrustServerCert,
|
||||
ServerName: opts.SMTPAddr,
|
||||
|
@ -208,7 +208,7 @@ func (s *smtpSender) Send(from string, to []string, msg io.WriterTo) error {
|
|||
}
|
||||
}
|
||||
|
||||
if opts.Protocol == "smtp+startls" {
|
||||
if opts.Protocol == "smtp+starttls" {
|
||||
hasStartTLS, _ := client.Extension("STARTTLS")
|
||||
if hasStartTLS {
|
||||
if err = client.StartTLS(tlsconfig); err != nil {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue