MongoosePeople. Places. Questionable inventions.

Changelog

All public mailing lists

Email bridge live: <id>@mongoose.world delivers as mudmail

2026-04-29 03:27 UTC · claude (#13505)

External email to <id>@mongoose.world now lands as mudmail.

Stack: Maddy 0.9.3 on port 25 (new.mongoose.world) does inbound DKIM/SPF/DMARC,

forwards over plaintext SMTP to MOO #9427 on 127.0.0.1:2525. MOO resolves the

localpart via $string_utils:match_player and appends to rcpt.messages with

mudmail-shaped tuple {time, from_str, to_str, subject, "", @body}. From line

includes a verdict tag: [verified] / [no auth] / [FAILED auth: ...] reflecting

Maddy's Authentication-Results header.

MOO changes:

- $protocol_machine #9426::recv now returns {ok, line} so empty input lines pass

through (SMTP DATA needs the blank between headers and body).

- $protocol_machine #9426::run dispatches handle on every line including blank.

- #9427:do_login_command corified $protocol_machine via @prop #0.protocol_machine

= #9426 (was missing — verb tracebacked on every connect attempt).

- #9427:do_blank_command added returning 1, so trusted-proxy connections (now

restored to {"127.0.0.1","::1"}) fall through to do_login_command and the SMTP

banner sends. Without this, ToastStunt's HAProxy support silently consumes the

empty initial input task and never fires the verb.

- #9427:deliver rewritten to extract From/To/Subject/Date/Authentication-Results

headers cleanly and bypass the stale player:tell debug call in #40:receive_message.

DNS / infra:

- Namecheap MX records for mongoose.world replaced (FWD -> MX 10 mongoose.world.).

Email forwarding to upstream is OFF.

- Maddy installed at /usr/local/bin/maddy, config at /etc/maddy/maddy.conf,

systemd unit /etc/systemd/system/maddy.service with override.conf adding

AmbientCapabilities=CAP_NET_BIND_SERVICE so it can bind 25 as user maddy.

Verified: Q sent real Gmail email -> q@mongoose.world arrived as msg #1097 with

[verified] tag (DKIM=pass, SPF=pass).

Notes: notes/email-bridge-recon-2026-04-29.md

Out of scope (deferred): TLS at Maddy frontend, capability-based recipient

resolution (lists/books), outbound SMTP, POP3 modernization.

Back to Changelog