updated layout for webmail and added http dns letsencrypt

This commit is contained in:
2026-08-15 12:35:44 +01:00
parent 310700407e
commit f283c90f11
49 changed files with 3359 additions and 431 deletions
+16 -1
View File
@@ -13,6 +13,7 @@ import (
"gopkg.in/ini.v1"
"mailgoserver/internal/db"
"mailgoserver/internal/mailstore"
"mailgoserver/internal/toolbox"
)
@@ -26,15 +27,29 @@ type Result struct {
ErrorCode string
ErrorMessage string
ServerResponse string
// Quarantined is true for a local delivery that landed in Spam rather than INBOX.
// Only ever set by smtpserver's local-delivery path (always false for outbound
// relay results) — it's the signal Data() uses to keep this message's body in the
// admin log despite content-logging otherwise being off by default, so a spam/
// malicious report can actually be reviewed.
Quarantined bool
}
type Relay struct {
DB *db.DB
Timeout time.Duration
// Hostname is used as the outbound EHLO/HELO identity, mirroring
// email_relay.py's self.hostname (helo_hostname, falling back to hostname).
// email_relay.py's self.hostname (helo_hostname, falling back to hostname), and as
// the domain part of SendBounce's mailer-daemon@ From address.
Hostname string
Logger *toolbox.Logger
// Mailstore backs SendBounce's local-delivery shortcut (straight into a bounce
// recipient's own INBOX when they're a mailbox this server hosts, no SMTP
// round-trip needed). Set by main.go once mailstore.New has run — relay.New runs
// before that, so this is assigned afterward rather than threaded through the
// constructor. Nil-safe: SendBounce falls back to relaying out when unset.
Mailstore *mailstore.Store
}
// New builds a Relay from settings.ini. Unlike email_relay.py (which reads