mailsrv/config/smtp.go
2023-09-10 14:50:39 +02:00

36 lines
764 B
Go

package config
import (
"fmt"
"github.com/go-playground/validator/v10"
)
// SMTPConfig handles mandatory parameters for the STMP server connection
type SMTPConfig struct {
User string `validate:"required"`
Password string `validate:"required"`
Url string `validate:"required"`
Port string `validate:"required"`
}
func NewSMTPConfig(user, password, url, port string) (SMTPConfig, error) {
config := SMTPConfig{
User: user,
Password: password,
Url: url,
Port: port,
}
validate := validator.New(validator.WithRequiredStructEnabled())
if err := validate.Struct(config); err != nil {
return config, err
}
return config, nil
}
func (c SMTPConfig) GetFullUrl() string {
return fmt.Sprintf("%s:%s", c.Url, c.Port)
}