Skip to content

Email routing

Email routing receives mail for a Startup’s Domains, routes each address to a Mailbox or the sink, and publishes SPF, DKIM and DMARC.

A Domain that sends no mail says so in DNS, so no one can send as it.

Contract

ClauseTerms
RoutesEach address on a Domain routes to one Mailbox, created with Mailbox.create, or to the sink. Inbound mail joins its Thread as a Message.
AuthenticatesDomain.authenticate writes SPF, DKIM and DMARC for a sending Domain and verifies all three before its first send.
Sends nothingA Domain with no Mailbox publishes v=spf1 -all, DMARC p=reject and a null MX, written by Domain.register.
Adds a MailboxDomain.authenticate replaces the null records with sending records in one Change.
Retires the lastWhen its last Mailbox retires, DNSRecord.set returns SPF and DMARC to null and reject, and points the MX at the sink.
SinkA Domain whose Domain.carriedIdentity is true keeps its sink in every state, Dormant included. The sink files each Message for the Startup's return and sends no reply.
RecordsEvery mail record is a DNS Record with DNSRecord.owner set to platform, so no edit breaks delivery.

Verbs

Interfaces

Example

Text
fieldnotes.co, a redirect Domain that has never received mail:

txt   @        v=spf1 -all            No server may send as the Domain
txt   _dmarc   v=DMARC1; p=reject     Receivers reject mail that claims it
mx    @        0 .                    The Domain accepts no mail