<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/running-mail-at-home-without-sending-mail-from-home-qiv8oln1d" -->

---
title: Running mail at home without sending mail from home
description: A detailed walkthrough of a hybrid self-hosted email architecture that stores mailboxes locally using Stalwart (a Rust-based all-in-one mail server) while...
canonical: https://daily.dev/posts/running-mail-at-home-without-sending-mail-from-home-qiv8oln1d
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Running mail at home without sending mail from home | daily.dev
og:description: A detailed walkthrough of a hybrid self-hosted email architecture that stores mailboxes locally using Stalwart (a Rust-based all-in-one mail server) while...
og:url: https://daily.dev/posts/running-mail-at-home-without-sending-mail-from-home-qiv8oln1d
og:image: https://api.daily.dev/og/posts/qIv8OLn1d.png
og:image:alt: Running mail at home without sending mail from home
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Running mail at home without sending mail from home

**[/dev/io](https://daily.dev/sources/iodev)** · 10 min read · 5 upvotes · 0 comments

## Summary

A detailed walkthrough of a hybrid self-hosted email architecture that stores mailboxes locally using Stalwart (a Rust-based all-in-one mail server) while delegating outbound sending reputation to Cloudflare Email Sending. The setup uses a VPS with HAProxy as a public-facing SMTP proxy forwarding to a home server over Tailscale, avoiding the IP reputation pitfalls of residential outbound mail. Key topics covered include the inbound/outbound split rationale, DNS management with OpenTofu, mailbox migration from Fastmail using imapsync, handling home connection outages via SMTP retry semantics, and a comprehensive monitoring stack using Prometheus, Blackbox exporter, Gatus, and Loki.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://blog.iodev.org/blog/running-mail-at-home-without-sending-from-home>

## Questions this post answers

### How do I avoid IP reputation problems when self-hosting email at home?

Separate inbound and outbound mail responsibilities: run your own mail server for storage and inbound delivery, but route outbound transactional mail through a provider with established sending reputation. Inbound mail only needs a reachable IP with proper TLS and spam filtering, while outbound delivery to major providers like Gmail requires SPF, DKIM, DMARC alignment, clean reverse DNS, and an IP without a poor reputation history that residential and new VPS ranges often lack.

_daily.dev surfaces practical architecture writeups for developers wrestling with self-hosted email deliverability._

### What happens to incoming mail if my self-hosted mail server goes offline temporarily?

SMTP is designed to tolerate temporary outages: RFC 5321 recommends senders retry delivery at intervals of at least 30 minutes and generally keep trying for four or five days before giving up. A short outage becomes a delayed-delivery event rather than data loss, since a pass-through proxy in front of the home server returns a temporary failure and the sending server queues and retries automatically.

_engineers designing resilient self-hosted infrastructure track these delivery-guarantee details on daily.dev._

### What IMAP message size limit issue can occur when migrating mail to Stalwart with imapsync?

Stalwart's default IMAP request limit is 50 MiB, which can cause imapsync migrations to fail on large individual messages while smaller ones continue syncing successfully. Raising the limit to 75 MB in Stalwart's declarative configuration resolved a failure caused by a single 60 MiB draft message during a migration of 93,717 messages totaling 5.34 GiB from Fastmail.

_developers migrating mailboxes to self-hosted Stalwart can find these configuration gotchas on daily.dev._

## Similar posts on daily.dev

- [I self-hosted my own email for a year, and it's the one project I'll never try again](https://daily.dev/posts/i-self-hosted-my-own-email-for-a-year-and-it-s-the-one-project-i-ll-never-try-again-wketzx1dw) · XDA Developers · 2 upvotes · 1 comments
- [Self-hosting email the hard way from your own routable IPv4 block up](https://daily.dev/posts/self-hosting-email-the-hard-way-from-your-own-routable-ipv4-block-up-wjyagn4e7) · Lobsters · 0 upvotes · 0 comments
- [Email Self Hosters - what are you using?](https://daily.dev/posts/email-self-hosters---what-are-you-using--uzrpyuvps) · Lobsters · 1 upvotes · 0 comments
- [Self-Host Weekly \#146: Survey Says](https://daily.dev/posts/self-host-weekly-146-survey-says-yjlvdascw) · selfh.st · 5 upvotes · 0 comments

---

Tags: [#nixos](https://daily.dev/tags/nixos)

[View this post on daily.dev](https://daily.dev/posts/running-mail-at-home-without-sending-mail-from-home-qiv8oln1d)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Running mail at home without sending mail from home","url":"https://daily.dev/posts/running-mail-at-home-without-sending-mail-from-home-qiv8oln1d","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/running-mail-at-home-without-sending-mail-from-home-qiv8oln1d"},"datePublished":"2026-07-24T21:02:22.446Z","dateModified":"2026-09-14T09:17:45.342Z","description":"A detailed walkthrough of a hybrid self-hosted email architecture that stores mailboxes locally using Stalwart (a Rust-based all-in-one mail server) while...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/4aff0a4b598540472fc5017c4f085e78?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/4aff0a4b598540472fc5017c4f085e78?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"/dev/io","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"/dev/io","logo":"https://media.daily.dev/image/upload/s--xOsuFPZX--/f_auto,q_auto/v1777801594/logos/iodev","url":"https://daily.dev/sources/iodev"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/running-mail-at-home-without-sending-mail-from-home-qiv8oln1d","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":5},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"nixos","timeRequired":"PT10M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"/dev/io","item":"https://daily.dev/sources/iodev"},{"@type":"ListItem","position":3,"name":"Running mail at home without sending mail from home"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/running-mail-at-home-without-sending-mail-from-home-qiv8oln1d#faq","mainEntity":[{"@type":"Question","name":"How do I avoid IP reputation problems when self-hosting email at home?","acceptedAnswer":{"@type":"Answer","text":"Separate inbound and outbound mail responsibilities: run your own mail server for storage and inbound delivery, but route outbound transactional mail through a provider with established sending reputation. Inbound mail only needs a reachable IP with proper TLS and spam filtering, while outbound delivery to major providers like Gmail requires SPF, DKIM, DMARC alignment, clean reverse DNS, and an IP without a poor reputation history that residential and new VPS ranges often lack. daily.dev surfaces practical architecture writeups for developers wrestling with self-hosted email deliverability."}},{"@type":"Question","name":"What happens to incoming mail if my self-hosted mail server goes offline temporarily?","acceptedAnswer":{"@type":"Answer","text":"SMTP is designed to tolerate temporary outages: RFC 5321 recommends senders retry delivery at intervals of at least 30 minutes and generally keep trying for four or five days before giving up. A short outage becomes a delayed-delivery event rather than data loss, since a pass-through proxy in front of the home server returns a temporary failure and the sending server queues and retries automatically. engineers designing resilient self-hosted infrastructure track these delivery-guarantee details on daily.dev."}},{"@type":"Question","name":"What IMAP message size limit issue can occur when migrating mail to Stalwart with imapsync?","acceptedAnswer":{"@type":"Answer","text":"Stalwart's default IMAP request limit is 50 MiB, which can cause imapsync migrations to fail on large individual messages while smaller ones continue syncing successfully. Raising the limit to 75 MB in Stalwart's declarative configuration resolved a failure caused by a single 60 MiB draft message during a migration of 93,717 messages totaling 5.34 GiB from Fastmail. developers migrating mailboxes to self-hosted Stalwart can find these configuration gotchas on daily.dev."}}]}
```

