Blog
Notes on software and email systems by Pedro Paiva, starting with an email learning series.
-
An email lab: experiments for understanding delivery Read
Run five controlled investigations and record what each observation actually establishes.
-
Building reliable email workflows in an application Read
Use durable email intents, explicit send attempts, and authenticated events to recover from failures.
-
Email transport security: what TLS protects Read
Distinguish individual encrypted hops, validated submission, and policies for server-to-server TLS.
-
DMARC: connecting authentication to the visible sender Read
Apply the updated DMARC standard to alignment, policies, reports, and a careful rollout.
-
DKIM: how an email carries a verifiable signature Read
Read a DKIM signature, find its public key, and understand what verification proves.
-
SPF: which servers are allowed to send for a domain? Read
Evaluate SPF identities, mechanisms, forwarding failures, and lookup limits.
-
Accepted, delayed, bounced: understanding email delivery outcomes Read
Use delivery timelines and status codes to distinguish acceptance, retry, and permanent failure.
-
Inside an email: MIME, HTML, attachments, and encoding Read
Inspect MIME alternatives, attachments, inline images, and encodings in a saved message.
-
How DNS tells email servers where to deliver a message Read
Read MX preferences, address lookups, null MX, and DNS failures without guessing mailbox validity.
-
Email envelopes and headers: why there is more than one sender Read
Separate the displayed sender, reply destination, and delivery-failure address.
-
An SMTP conversation, step by step Read
Follow a welcome email through the conversation between mail servers, from the first greeting to final acceptance.
-
How email works: the components behind a message Read
Meet the clients, servers, and mailboxes behind a welcome email.
-
What happens after my application sends an email through AWS SES? Read
Follow a welcome email through SES, from the first API response to the receiving server and the delivery events our application needs.
Saved only in this browser until you clear it. Reading progress isn’t sent to us.