Operations · Deliverability

Deliverability

Notes for senders: authentication and alignment, bounces and complaints, warmup, content and headers, and the checks postfly runs for you.

postfly signs and delivers the mail; whether it lands in the inbox also depends on the domain, the recipients and the content. These notes cover what you control.

Authenticate every domain

  • Verify every domain you send from — SPF, DKIM and DMARC all have to pass before postfly sends from it (Sender domains & DNS).
  • Keep one SPF record per domain and under 10 DNS lookups; the domain page counts them for you.
  • Start DMARC at p=none, read the aggregate reports that arrive at the rua address, and tighten to quarantine or reject once only your own services show up in them.
  • Consider a subdomain for application mail (for example notify.yourdomain.com), so its reputation stays separate from your people's mailboxes.

Keep the list clean

  • Send only to addresses that asked for the mail — an account signup, a purchase, a password reset.
  • A hard bounce suppresses the address for every postfly project, and a spam complaint for yours (Suppressions). Take the address out of your own database too: the email.bounced and email.complained webhooks tell you when.
  • Treat 409 recipient_suppressed as an answer, not an error to retry.
  • When someone unsubscribes from non-essential mail, add them with reason unsubscribe (POST /v1/suppressions) so no code path mails them again.

Warm up

Receivers judge a new sender by its first weeks. A project on warmup starts at 50 messages a day and has no cap after day 28 (Warmup & daily caps). Even without a cap, grow volume gradually on a new domain: move one kind of mail over first, then the rest.

Content & headers

  • Send a text part along with html.
  • Use a from address that doesn't change, and a fromName recipients recognize.
  • For mail people can opt out of, add a List-Unsubscribe header through headers.
  • Set a tag per kind of mail (welcome, password-reset) so you can filter GET /v1/emails and spot which one bounces.

What postfly watches

  • Verified domains are re-checked daily; if SPF, DKIM or DMARC breaks, the project hears about it once, and again when it is fixed.
  • Bounces are classified (Bounce categories) and hard ones suppressed automatically; complaints from feedback loops suppress the address in your project.
  • postfly's operators watch the sending servers' blocklist listings, reverse DNS and Microsoft SNDS (how Outlook.com rates them).
  • The dashboard shows delivery and bounce numbers per project, and a weekly summary can be mailed to the team every Monday.