Block a user
User store (flat file or SQLite — TBD)
Message read / list / delete (for IMAP)
Message write (new mail delivery)
Maildir layout per user (
/var/mail/{domain}/{user}/)
Support INBOX, Sent, Drafts, Trash folders
Serve mailboxes from Maildir storage
IMAP server using
emersion/go-imap
Delivery retry queue with backoff
Outbound routing via MX DNS lookup
Authenticated submission listener
Write received messages to Maildir
Reject mail for unknown domains
Receive inbound mail for local domains
Basic SMTP listener using
emersion/go-smtp