pop-camarades/helpers/mailer.go

49 lines
782 B
Go

package helpers
import (
"github.com/wneessen/go-mail"
)
var mailer *mail.Client
var mailerSet bool
func GetMailer() (*mail.Client, error) {
if mailerSet {
return mailer, nil
}
config, err := GetConfig()
if err != nil {
return mailer, err
}
mailer, err = mail.NewClient(
config.Mail.Host,
mail.WithPort(config.Mail.Port),
mail.WithSMTPAuth(mail.SMTPAuthAutoDiscover),
mail.WithUsername(config.Mail.Username),
mail.WithPassword(config.Mail.Password),
)
if err != nil {
return mailer, err
}
mailerSet = true
return mailer, nil
}
func NewMessage() (*mail.Msg, error) {
msg := mail.NewMsg()
config, err := GetConfig()
if err != nil {
return msg, err
}
msg.FromFormat(
config.Mail.FromName,
config.Mail.FromAddress,
)
return msg, nil
}