32 lines
701 B
Go
32 lines
701 B
Go
package config
|
|
|
|
import "errors"
|
|
|
|
var _ Validator = (*MailConfig)(nil)
|
|
|
|
type MailConfig struct {
|
|
Host string `mapstructure:"host"`
|
|
Port int `mapstructure:"port"`
|
|
SSL bool `mapstructure:"ssl"`
|
|
AuthType string `mapstructure:"auth_type"`
|
|
Username string `mapstructure:"username"`
|
|
Password string `mapstructure:"password"`
|
|
From string `mapstructure:"from"`
|
|
}
|
|
|
|
func (m MailConfig) Validate() error {
|
|
if m.Host == "" {
|
|
return errors.New("host is required")
|
|
}
|
|
if m.Username == "" {
|
|
return errors.New("username is required")
|
|
}
|
|
if m.Password == "" {
|
|
return errors.New("password is required")
|
|
}
|
|
if m.From == "" {
|
|
return errors.New("from is required")
|
|
}
|
|
return nil
|
|
}
|