list

server

This is the main dovel repository, it has the Go code to run dovel SMTP server.

curl https://dovel.email/server.tar tar

6e3d4ea

Author: blmayer (bleemayer@gmail.com)

Date: Tue Oct 3 20:11:06 2023 -0300

Parent: 0a626fc

Adjusted hook path

Diff

cmd/dovel/backend.go

diff --git a/cmd/dovel/backend.go b/cmd/dovel/backend.go
index addfae5..a26e561 100644
--- a/cmd/dovel/backend.go
+++ b/cmd/dovel/backend.go
@@ -93,12 +93,12 @@ func (s *Session) Data(raw io.Reader) error {
 		}
 
 		// running handlers is optional
-		h := "send-" + cfg.Domain
+		h := path.Join(configPath, "hooks", "send-" + cfg.Domain)
 		if f, err := os.Lstat(h); err == nil {
 			if !f.Mode().IsRegular() {
 				h, err = os.Readlink(h)
 				if err != nil {
-					slog.Error(cfg.Domain, "read link", err.Error())
+					slog.Error("read link", "domain", cfg.Domain, "error", err.Error())
 				}
 			}
 
@@ -117,14 +117,14 @@ func (s *Session) Data(raw io.Reader) error {
 	for _, to := range tos {
 		domain := strings.Split(to.Address, "@")[1]
 
-		h := "receive-" + domain
+		h := path.Join(configPath, "hooks", "receive-" + domain)
 		if f, err := os.Lstat(h); err != nil {
-			slog.Error(domain, "receive error:", err.Error())
+			slog.Error("lstat error", "domain", domain, "error", err.Error())
 			continue
 		} else if !f.Mode().IsRegular() {
 			h, err = os.Readlink(h)
 			if err != nil {
-				slog.Error(domain, "read link", err.Error())
+				slog.Error("read link", "domain", domain, "error", err.Error())
 			}
 		}