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() {}