Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var WildcardProcessor = func() backends.Decorator { var w *wildcard initializer := backends.InitializeWith(func(backendConfig backends.BackendConfig) error { configType := backends.BaseConfig(&WildcardConfig{}) bcfg, err := backends.Svc.ExtractConfig(backendConfig, configType) if err != nil { return err } w = newWildcard(bcfg.(*WildcardConfig)) return nil }) backends.Svc.AddInitializer(initializer) return func(p backends.Processor) backends.Processor { return backends.ProcessWith(func(e *mail.Envelope, task backends.SelectTask) (backends.Result, error) { if task == backends.TaskValidateRcpt { for _, rcpt := range e.RcptTo { if !w.allowsRcpt(rcpt.Host) { backends.Log().Debugf("Recipients host %s did not pass", rcpt.Host) return backends.NewResult(response.Canned.FailNoSenderDataCmd), backends.NoSuchUser } } } return p.Process(e, task) }) } }
Functions ¶
This section is empty.
Types ¶
type WildcardConfig ¶
type WildcardConfig struct {
WildcardHosts string `json:"wildcard_hosts"`
}
Click to show internal directories.
Click to hide internal directories.