Today's Deep-Dive: Mox
Ep. 394

Today's Deep-Dive: Mox

Episode description

This deep dive explores the challenges of self-hosting email and introduces Mox, a revolutionary single-binary software solution designed to demystify the complex task of running your own email server. The episode dissects the historical architecture of email, highlighting the fragmentation, security risks associated with legacy components, and the shift toward centralized cloud providers. We examine how Mox overcomes these hurdles by leveraging Go for memory safety, consolidating complex services into one application, and automating critical tasks like DNS configuration and TLS certificate management. Discover how Mox addresses deliverability concerns through Bayesian filtering, neutralizes protocol-level vulnerabilities, and acts as a versatile web toolkit, offering a path toward true digital independence for individuals and organizations.

Gain digital sovereignty now and save costs

Let’s have a look at your digital challenges together. What tools are you currently using? Are your processes optimal? How is the state of backups and security updates?

Digital Souvereignty is easily achived with Open Source software (which usually cost way less, too). Our division Safeserver offers hosting, operation and maintenance for countless Free and Open Source tools.

Try it now!

Download transcript (.srt)
0:00

[SPEAKER_00] If you ask any veteran systems administrator what their absolute worst nightmare is, they won't say hackers.

0:06

[SPEAKER_01] Oh, definitely not.

0:07

[SPEAKER_00] Right.

0:08

[SPEAKER_00] And they won't say server hardware crashes either.

0:10

[SPEAKER_00] They will say hosting their own email.

0:12

[SPEAKER_01] Yeah, it's basically the final boss of IT infrastructure.

0:15

[SPEAKER_00] Exactly.

0:17

[SPEAKER_00] But what if the reason it's so painful isn't because email is inherently broken, but because we've been using, you know, tools designed in the 1990s.

0:24

[SPEAKER_01] Which is wild to think about considering how critical email still is today.

0:28

[SPEAKER_00] It really is.

0:30

[SPEAKER_00] And making that pivot to modern tools is exactly what our sponsor Safe Server specializes in.

0:36

[SPEAKER_00] If you're running an organization or a business, you already know the heavy cost of these proprietary workspace tools.

0:42

[SPEAKER_01] Oh yeah, the massive recurring invoices from vendors like Microsoft or Google.

0:46

[SPEAKER_01] It's a serious lock-in situation.

0:49

[SPEAKER_00] Total lock-in.

0:49

[SPEAKER_00] And Safe Server helps organizations break free from that by finding and implementing the exact right open source alternative for your specific needs.

0:57

[SPEAKER_01] Which is huge, especially if you deal with strict legal or compliance requirements.

1:02

[SPEAKER_00] Right.

1:02

[SPEAKER_00] I mean, think about strict email retention policies, data protection laws, financial records, audit trails.

1:10

[SPEAKER_00] You really need to understand data sovereignty here.

1:12

[SPEAKER_00] You have to physically and legally own your data.

1:15

[SPEAKER_01] You can't just rent it forever.

1:17

[SPEAKER_00] Exactly.

1:18

[SPEAKER_00] Safe Server handles everything from the initial consulting all the way through to secure, compliant operation on German servers.

1:25

[SPEAKER_00] You can learn how to reclaim your data at safeserver.de.

1:28

[SPEAKER_00] That's safeserver.de.

1:30

[SPEAKER_01] It's a fundamental shift, you know, moving away from renting access to actually owning the engine.

1:35

[SPEAKER_00] Which brings us to our mission for this deep dive.

1:37

[SPEAKER_00] Welcome, by the way.

1:39

[SPEAKER_00] Today, we are exploring a software solution called Mox.

1:41

[SPEAKER_01] Mox, yeah, it's really making waves right now.

1:43

[SPEAKER_00] It is.

1:44

[SPEAKER_00] Our sources today are the official Mox website and its highly rated GitHub repository created by Mikhail Likhin, which currently boasts over 5,300 stars.

1:54

[SPEAKER_01] That's a lot of stars for an email server project.

1:57

[SPEAKER_00] Right, so we're going to examine how this single piece of software attempts to demystify the supposedly impossible task of hosting your own email.

2:06

[SPEAKER_00] For beginners, tinkerers, or any organization looking to reclaim their digital independence.

2:13

[SPEAKER_01] Well if we connect this to the bigger picture, to understand what Mox is doing differently, we have to look at the historical architecture of email.

2:20

[SPEAKER_00] Which is messy.

2:21

[SPEAKER_01] Super messy.

2:22

[SPEAKER_01] Email was originally designed as a completely decentralized protocol.

2:26

[SPEAKER_01] Anyone with a server could theoretically communicate directly with anyone else.

2:30

[SPEAKER_00] Without, like, a corporate middleman routing the traffic.

2:33

[SPEAKER_01] Exactly.

2:34

[SPEAKER_01] But practically speaking, that decentralized dream just sort of died.

2:38

[SPEAKER_01] We all migrated en masse to centralized cloud providers because the reality of running the software became an operational nightmare.

2:45

[SPEAKER_00] Because you weren't just running an email server, right?

2:47

[SPEAKER_00] You had to string together half a dozen separate fragile services.

2:51

[SPEAKER_01] Right.

2:51

[SPEAKER_01] You needed postfix or send mail for the SMTP transport.

2:54

[SPEAKER_00] DoveCot for IMAP so users could actually read their mail.

2:58

[SPEAKER_01] a spam assassin for filtering, and entirely separate daemon processes just to handle authentication.

3:04

[SPEAKER_01] And getting those pieces to communicate securely was notoriously difficult.

3:08

[SPEAKER_00] I always think of it like this.

3:10

[SPEAKER_00] It's like trying to build a functioning car from scrap parts, but you're reading six different manuals and they're all written in ancient Greek.

3:17

[SPEAKER_01] That is a perfect analogy.

3:19

[SPEAKER_01] And furthermore, the underlying code for most of those legacy components was written in C. Which presents a massive security overhead.

3:26

[SPEAKER_00] I mean, C gives developers raw power over system memory, but you have to do it manually.

3:32

[SPEAKER_01] Right.

3:32

[SPEAKER_01] And humans make mistakes.

3:34

[SPEAKER_01] If a developer mishandles a buffer of data, say allocating 50 bytes for an email header but receiving 100, it creates a buffer overflow.

3:42

[SPEAKER_00] And then a malicious payload could override adjacent memory, execute arbitrary code, and basically hand the attacker control of the server.

3:50

[SPEAKER_01] Exactly.

3:51

[SPEAKER_01] That constant threat of memory-based failure is a huge reason organizations just handed their infrastructure over to the tech giants.

3:58

[SPEAKER_00] It was just too risky.

3:59

[SPEAKER_00] But Mox is different.

4:00

[SPEAKER_00] It's a fully assembled modern vehicle.

4:03

[SPEAKER_00] It abandons that multi-component approach entirely.

4:06

[SPEAKER_00] It's a single all-in-one application.

4:08

[SPEAKER_01] A single binary.

4:10

[SPEAKER_01] And crucially, over 68% of its code base is written in Go.

4:14

[SPEAKER_00] Oh, wow.

4:15

[SPEAKER_00] So that language choice is really the key differentiator here.

4:18

[SPEAKER_01] It is.

4:19

[SPEAKER_01] Go is a memory-safe language with built-in garbage collection.

4:22

[SPEAKER_01] It automatically handles all those complex memory allocations behind the scenes.

4:26

[SPEAKER_00] So by using Go, the developer has virtually eliminated whole classes of those memory corruption vulnerabilities that played the older CBase software.

4:36

[SPEAKER_01] Precisely.

4:37

[SPEAKER_01] It drastically reduces the attack surface.

4:40

[SPEAKER_01] And the consolidation into a single binary radically alters the deployment process, too.

4:44

[SPEAKER_01] We're moving from weeks of frantic configuration file tweaking to a process you can finish in a single sitting.

4:50

[SPEAKER_00] Okay, let's unpack this, because reducing weeks of work to a single sitting is a bold claim.

4:55

[SPEAKER_00] If a complete beginner is deploying this tonight, what exactly do they have to do?

4:59

[SPEAKER_01] Well, the documentation points to a command simply called mocksquickstart.

5:03

[SPEAKER_00] Just one command.

5:04

[SPEAKER_01] Just one.

5:05

[SPEAKER_01] Running that initializes the entire environment in less than 10 minutes.

5:09

[SPEAKER_01] It automatically generates the core configuration files you need, like mocks.conf and domains.conf.

5:16

[SPEAKER_00] with sensible, secure defaults, I'm assuming.

5:18

[SPEAKER_01] Exactly.

5:19

[SPEAKER_01] And it also auto-generates your admin and initial account passwords.

5:23

[SPEAKER_00] OK, that handles the local setup.

5:25

[SPEAKER_00] But the traditional stumbling block for self-hosting isn't just the server demon.

5:30

[SPEAKER_00] It's the domain name system.

5:32

[SPEAKER_01] DNS is where everyone gets st-

5:34

[SPEAKER_00] Right.

5:34

[SPEAKER_00] Configuring DNS to point correctly to an email server is where most beginners hit an absolute wall.

5:40

[SPEAKER_01] But Mox acts almost like a setup wizard here.

5:43

[SPEAKER_01] The Quick Start command analyzes your environment and literally prints out the exact DNS records required for your specific domain.

5:49

[SPEAKER_00] Wait, it just gives you the raw text?

5:51

[SPEAKER_01] Yep.

5:51

[SPEAKER_01] You just copy those records and paste them directly into your domain registrar's control panel.

5:55

[SPEAKER_00] So it generates the A records, the MX records for mail exchange, all of that.

6:00

[SPEAKER_00] But what about the cryptographic certificates?

6:02

[SPEAKER_00] Because modern email requires TLS encryption, which historically meant manually generating certificate signing requests, managing private keys, and remembering to renew them every 90 days, which everyone forgets.

6:14

[SPEAKER_01] Right.

6:14

[SPEAKER_01] But Mox features integrated, automatic TLS via Let's Encrypt.

6:19

[SPEAKER_01] The ACME protocol client is built directly into the binary.

6:23

[SPEAKER_00] So secure HTTPS and encrypted mail just work out of the box?

6:26

[SPEAKER_01] Completely.

6:27

[SPEAKER_01] Once your DNS records propagate, Mox automatically fetches the certificates and schedules the renewals.

6:33

[SPEAKER_01] No manual key management at all.

6:36

[SPEAKER_00] That is incredible.

6:37

[SPEAKER_00] And if you just want to test it without any commitment, there's a Mox local serve command too, right?

6:41

[SPEAKER_01] Yeah.

6:41

[SPEAKER_01] That spins up a local-only testing environment instantly on your workstation.

6:45

[SPEAKER_00] And you don't even need a supercomputer for the production side either.

6:48

[SPEAKER_00] You were saying earlier the resource footprint is tiny.

6:50

[SPEAKER_01] It's remarkably small.

6:52

[SPEAKER_01] Because Go is so efficient, Mox runs smoothly on as little as 512 megabytes of RAM.

6:58

[SPEAKER_00] Wow.

6:58

[SPEAKER_00] So a basic, cheap, virtual private server is totally fine.

7:02

[SPEAKER_00] But that brings up a really critical operational question.

7:05

[SPEAKER_00] Deliverability.

7:06

[SPEAKER_00] Exactly.

7:07

[SPEAKER_00] The setup is a breeze, but none of that matters if the emails you send go straight to a recipient's spam folder.

7:13

[SPEAKER_01] Yeah, that's the big fear.

7:15

[SPEAKER_00] Wait.

7:15

[SPEAKER_00] I've always heard that running your own mail server is a fool's errand now because the big providers like Gmail or Outlook will just automatically block your emails.

7:24

[SPEAKER_00] Is that true?

7:25

[SPEAKER_01] What's fascinating here is that this is perhaps the most pervasive myth in modern infrastructure.

7:30

[SPEAKER_01] The major providers do not block you simply for being small or independently hosted.

7:35

[SPEAKER_00] They don't.

7:35

[SPEAKER_01] No.

7:36

[SPEAKER_01] They drop traffic based on two strict criteria.

7:40

[SPEAKER_01] Poor IP reputation.

7:42

[SPEAKER_01] and missing cryptographic trust signal.

7:44

[SPEAKER_00] Ah, okay.

7:45

[SPEAKER_00] Let's break down the IP reputation aspect first.

7:48

[SPEAKER_00] There is a caveat here for beginners, right?

7:51

[SPEAKER_00] You shouldn't use the absolute cheapest cloud hosting tiers.

7:55

[SPEAKER_01] Right.

7:55

[SPEAKER_01] Because if you do, you're sharing an IP subnet with thousands of other disposable servers.

8:00

[SPEAKER_01] Spammers heavily abuse those cheap tiers.

8:02

[SPEAKER_00] So if you inherit an IP address that was just used to blast out phishing campaigns, you're already on a block list like Spam House.

8:08

[SPEAKER_01] And Google and Microsoft will drop your connection before your server even says hello.

8:12

[SPEAKER_01] So you still need a clean, reputable IP address from a quality host.

8:16

[SPEAKER_00] Okay, assuming you have a clean IP, the other hurdle is those trust signals.

8:21

[SPEAKER_00] SPF, DKIMR, DMRSH.

8:24

[SPEAKER_00] In the legacy stack, configuring those was a nightmare.

8:28

[SPEAKER_01] Incredibly prone to human error, yeah.

8:30

[SPEAKER_01] But Mox automates this entire trio.

8:32

[SPEAKER_01] It generates the SPF, which tells the receiving server your IP is authorized.

8:37

[SPEAKER_00] And for DKIM, it's automatically signing the header and body of every outgoing message with a private cryptographic key, right?

8:43

[SPEAKER_01] It is.

8:44

[SPEAKER_01] The receiving server fetches the public key from those DNS records Mox gave you earlier and uses it to verify the signature.

8:50

[SPEAKER_00] Proving it wasn't tampered with.

8:51

[SPEAKER_01] Exactly.

8:53

[SPEAKER_01] And finally, it implements DMR serial, instructing the receiver on what to do if the checks fail.

8:58

[SPEAKER_01] By automating all of this, Mox provides the exact same technical trust signals as a massive corporate server.

9:04

[SPEAKER_00] Okay, but what about incoming spam?

9:06

[SPEAKER_00] A pristine outgoing reputation doesn't help if your own inbox is just flooded with junk.

9:11

[SPEAKER_00] How does a single-go binary handle filtering?

9:14

[SPEAKER_01] It utilizes a built-in Bayesian spam filtering system, and it actually applies it on a per-user basis.

9:20

[SPEAKER_00] Oh, interesting.

9:21

[SPEAKER_00] So instead of just static rules, it uses probability.

9:24

[SPEAKER_01] Precisely.

9:24

[SPEAKER_01] It's analyzing the frequency of specific tokens.

9:27

[SPEAKER_00] Like if an email has the word lottery or wire transfer, it calculates the mathematical probability that the message is spam based on past data.

9:35

[SPEAKER_01] Yep.

9:36

[SPEAKER_01] And because it learns per user, your filtering profile becomes highly tailored to your own inbox behavior.

9:42

[SPEAKER_00] Wow.

9:43

[SPEAKER_00] So filtering out standard spam is covered, but the threat landscape has evolved, too.

9:48

[SPEAKER_00] The source material highlights a specific security implementation regarding SMTP smuggling.

9:54

[SPEAKER_01] Ah, yes.

9:55

[SPEAKER_01] Version 0.0.9.

9:57

[SPEAKER_01] That vulnerability exploited the foundational architecture of the email protocol itself.

10:01

[SPEAKER_00] Because SMTP is text-based, right?

10:03

[SPEAKER_00] It signals the end of an email with a highly specific sequence of invisible characters.

10:08

[SPEAKER_01] A carriage return, a line feed, a dot, a carriage return, and a line feed.

10:11

[SPEAKER_01] CRLF.CRLF.

10:13

[SPEAKER_00] Right.

10:13

[SPEAKER_00] But security researchers discovered that buggy inbound servers would accept malformed sequences, like a bare carriage return without the line feed.

10:21

[SPEAKER_01] Which gave attackers a terrifying window.

10:23

[SPEAKER_01] They could trick a receiving server into splitting the transmission.

10:25

[SPEAKER_01] The server processes the first part as a legitimate email.

10:28

[SPEAKER_00] and interprets the second part as a brand new email from an internal trusted source, effectively smuggling malicious payloads past firewalls.

10:37

[SPEAKER_01] Exactly.

10:38

[SPEAKER_01] Because traditional firewalls just see standard text traffic, they don't catch the manipulation.

10:43

[SPEAKER_00] So how does Mox neutralize this?

10:46

[SPEAKER_01] Mox enforces strict protocol compliance.

10:49

[SPEAKER_01] Since version 0.0.9, it actively rejects any incoming message containing a bare carriage return.

10:56

[SPEAKER_01] It just drops the connection.

10:57

[SPEAKER_00] Completely neutralizing the attack.

10:59

[SPEAKER_00] That is a perfect example of why the single binary architecture is so effective.

11:03

[SPEAKER_00] You aren't waiting for three different legacy maintainers to patch their software.

11:07

[SPEAKER_01] You just update the single Mox binary.

11:09

[SPEAKER_01] The maintainability is just as critical as the security.

11:12

[SPEAKER_00] Here's where it gets really interesting, though.

11:14

[SPEAKER_00] Because Mox isn't just an email server.

11:16

[SPEAKER_00] It's essentially an entire web toolkit.

11:18

[SPEAKER_01] It really is.

11:19

[SPEAKER_01] The networking logic is brilliant.

11:21

[SPEAKER_01] Because modern email requires HTTPS, Mox needs port 443.

11:25

[SPEAKER_00] But if you want to host your company's actual website on the same server, you'd normally have a port conflict.

11:31

[SPEAKER_00] And Jinx and an email server can't fight over the same port.

11:34

[SPEAKER_01] Right, so Mox anticipates that by acting as a built-in reverse proxy.

11:38

[SPEAKER_01] It inspects the server name indication header of the incoming traffic.

11:42

[SPEAKER_00] So if the traffic is looking for your webmail, Mox handles it.

11:46

[SPEAKER_01] But if they want your main public website... Mox quietly forwards those packets to a backend port where your standard web server is listening.

11:54

[SPEAKER_01] You don't need a dedicated, isolated server just for email.

11:58

[SPEAKER_00] It shares the real estate flawlessly.

12:00

[SPEAKER_00] And you mentioned webmail.

12:01

[SPEAKER_00] It has a built-in webmail interface too.

12:03

[SPEAKER_01] serve directly from the binary.

12:05

[SPEAKER_01] Users don't even need to download an app like Thunderbird or Outlook, though standard IME4 is fully supported if they want to.

12:13

[SPEAKER_00] That's incredibly convenient.

12:14

[SPEAKER_00] But what about automation?

12:16

[SPEAKER_00] Like if my organization runs an app and needs to send automated transactional emails, like password resets.

12:21

[SPEAKER_01] Traditionally, you'd configure complex SMTP relays for that.

12:25

[SPEAKER_01] But Mox exposes a simple HTTP and JSON API and web hooks.

12:29

[SPEAKER_00] So your app just makes an API call to Mox with the data in a JSON payload, and Mox handles the delivery.

12:34

[SPEAKER_01] Exactly.

12:35

[SPEAKER_01] It completely bridges the gap between legacy email infrastructure and modern web development.

12:40

[SPEAKER_00] OK.

12:41

[SPEAKER_00] But consolidating all of this into one engine raises a concern about updates.

12:45

[SPEAKER_00] I see MOX checks for updates once a day via a DNS TXT request.

12:51

[SPEAKER_00] As an admin, I do not want my core communication infrastructure auto-updating while I'm asleep.

12:56

[SPEAKER_01] Oh, don't worry.

12:57

[SPEAKER_01] It's a vital distinction.

12:58

[SPEAKER_01] Mox does not auto-update its binary.

13:00

[SPEAKER_01] The daily query is incredibly lightweight.

13:03

[SPEAKER_00] It just checks a text record to see if a new version exists.

13:06

[SPEAKER_00] Yes.

13:06

[SPEAKER_01] And if it finds one, it fetches the changelog and delivers it as an email straight to the Postmaster's inbox.

13:11

[SPEAKER_00] Ah, so it's an alerting mechanism.

13:13

[SPEAKER_00] The admin is notified, but they retain total control over when the actual update happens.

13:18

[SPEAKER_01] Exactly.

13:19

[SPEAKER_01] It's all about lowering the barrier to entry without removing the administrator's agency.

13:24

[SPEAKER_00] So what does this all mean?

13:26

[SPEAKER_00] We started by looking at a landscape that was fundamentally broken.

13:29

[SPEAKER_00] Self-hosting was intimidating, fragmented, and dangerous.

13:33

[SPEAKER_01] We basically outsourced our core communications because we lacked modern tooling.

13:37

[SPEAKER_00] Right.

13:38

[SPEAKER_00] But Mox takes this impossible chore and turns it into a sleek, manageable, single binary solution.

13:44

[SPEAKER_00] It allows anyone to reclaim their digital independence.

13:47

[SPEAKER_01] The technical barriers to decentralization are falling rapidly.

13:50

[SPEAKER_00] Which leaves you, the listener, with a profound question to ponder.

13:55

[SPEAKER_00] If a solo developer can package the entire complex architecture of global email into a 10-minute install, what other supposedly impossible centralized cloud services in our lives are actually ripe for us to take back and run ourselves?

14:09

[SPEAKER_01] The capabilities are definitely there for those willing to deploy them.

14:12

[SPEAKER_00] They absolutely are.

14:13

[SPEAKER_00] And if you are part of an organization, a business, or an association listening to this,

14:18

[SPEAKER_00] You have everything to gain by walking through those falling barriers.

14:21

[SPEAKER_00] The massive cost reductions in total data control make switching from costly Microsoft or Google environments to an open source solution like Mox a real strategic imperative.

14:30

[SPEAKER_01] You don't have to architect that migration blindly.

14:32

[SPEAKER_00] No, you don't.

14:34

[SPEAKER_00] You can commission SafeServer for consulting to help your organization make this switch seamlessly.

14:39

[SPEAKER_00] Whether the exact right fit is mocks or a comparable alternative, SafeServer will get your infrastructure set up securely and compliantly.

14:46

[SPEAKER_00] You can take the first step toward true data sovereignty at safeserver.de.

14:51

[SPEAKER_00] That is safeserver.du.

14:52

[SPEAKER_01] The tools to own your infrastructure exist.

14:55

[SPEAKER_01] The next step is execution.

14:58

[SPEAKER_00] The keys to a fully assembled high-performance communications engine are right on the table.

15:03

[SPEAKER_00] You just have to decide when you're ready to take control.