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 }