{
  "id": 8533382,
  "title": "Email deliverability in CI: what you can actually automate, and what you can't",
  "url": "https://urgent.news/2026/09/19/email-deliverability-in-ci-what-you-can-actually-automate-and-what",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-09-19T20:20:30.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/emailcampaignai/email-deliverability-in-ci-what-you-can-actually-automate-and-what-you-cant-20i9"
  },
  "original_language": "en",
  "account": "Email delivery testing in CI can be split into two distinct aspects: verifying the message itself and assessing inbox placement. The former can be fully automated and tested within the CI process, while the latter is a judgment made by the recipient's classifier, making it a measurement rather than a test.\n\nAutomating the first aspect involves ensuring the email is well-formed, authenticated, and follows the correct structure. This includes checking for a proper SPF record, sending a Message-ID with the correct domain, including a plain-text alternative, and implementing an unsubscribe link. By testing these elements in CI, issues can be caught early and fixed before they impact user experience.\n\nOn the other hand, assessing inbox placement is a lagging measurement that reflects how the recipient's mail server classifies the email. Factors such as the domain's reputation, the recipient's behavior, and the classifier's algorithms all contribute to this outcome. Automating inbox placement testing leads to a suite of tests that often fail for reasons that cannot be acted upon, as the classifier's behavior changes without notice.\n\nTherefore, it's best to focus on automating the message structure testing within CI and treat inbox placement as a trend that is visualized on a dashboard rather than a gate that fails or passes the build. This approach ensures that the CI process remains focused on actionable issues and avoids unnecessary failures due to external factors.",
  "summary": "\"Did that email arrive?\" is two questions wearing one coat. One of them automates cleanly. The other does not automate at all, and most of the frustration around deliverability testing comes from not separating them. Did we send a well-formed, authenticated message? Deterministic. Test it in CI. Did a receiver put it in the inbox? A judgement made by someone else's classifier, using your history.…",
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}