This is the main dovel repository, it has the Go code to run dovel SMTP server.
Author: blmayer (bleemayer@gmail.com)
Date: Tue Oct 3 21:23:27 2023 -0300
Parent: 34f91c4
Improved error on receive
diff --git a/cmd/dovel/backend.go b/cmd/dovel/backend.go index d4fbe63..73741d2 100644 --- a/cmd/dovel/backend.go +++ b/cmd/dovel/backend.go @@ -121,7 +121,7 @@ func (s *Session) Data(raw io.Reader) error { h := path.Join(configPath, "hooks", "receive-"+domain) if f, err := os.Lstat(h); err != nil { slog.Error("lstat error", "domain", domain, "error", err.Error()) - continue + break } else if !f.Mode().IsRegular() { h, err = os.Readlink(h) if err != nil { @@ -134,14 +134,13 @@ func (s *Session) Data(raw io.Reader) error { c.Stdin = strings.NewReader(string(mess)) out := bytes.Buffer{} c.Stdout = &out - if err := c.Run(); err != nil { + if err = c.Run(); err != nil { slog.Error("run script", "error", err.Error(), "output", out.String()) - slog.Error("run script", err.Error()) - continue + break } } - return nil + return err } func (s *Session) Reset() {}