<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Groundmail Blog</title>
    <link>https://groundmail.dev/blog/</link>
    <atom:link href="https://groundmail.dev/blog/feed.xml" rel="self" type="application/rss+xml"/>
    <description>Practical writing on transactional email from Groundmail.</description>
    <language>en</language>
    <lastBuildDate>Sun, 18 Oct 2026 12:00:00 GMT</lastBuildDate>
    <item>
      <title>DMARC fail: what it means and how to fix it</title>
      <link>https://groundmail.dev/blog/dmarc-fail/</link>
      <guid isPermaLink="true">https://groundmail.dev/blog/dmarc-fail/</guid>
      <description>DMARC fails when neither SPF nor DKIM passes for a domain that matches your From address. How to read the headers, find the failing sender and fix each cause.</description>
      <category>DMARC</category>
      <category>Authentication</category>
      <category>Troubleshooting</category>
      <pubDate>Sun, 18 Oct 2026 12:00:00 GMT</pubDate>
    </item>
    <item>
      <title>How to send email with Python</title>
      <link>https://groundmail.dev/blog/send-email-python/</link>
      <guid isPermaLink="true">https://groundmail.dev/blog/send-email-python/</guid>
      <description>Send email in Python with the standard library's smtplib and STARTTLS, or with an HTTP email API. Includes HTML, attachments, common errors and production tips.</description>
      <category>Python</category>
      <category>SMTP</category>
      <category>Transactional email</category>
      <pubDate>Sun, 18 Oct 2026 12:00:00 GMT</pubDate>
    </item>
    <item>
      <title>How to switch transactional email providers without downtime</title>
      <link>https://groundmail.dev/blog/switch-transactional-email-providers-without-downtime/</link>
      <guid isPermaLink="true">https://groundmail.dev/blog/switch-transactional-email-providers-without-downtime/</guid>
      <description>A safe order for moving transactional email to a new provider. Set up DNS first, send through both providers for a while, then cut over with a rollback ready.</description>
      <category>Migration</category>
      <category>DNS</category>
      <category>Deliverability</category>
      <pubDate>Sun, 18 Oct 2026 12:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Password reset email not received: a debugging checklist</title>
      <link>https://groundmail.dev/blog/password-reset-email-not-received/</link>
      <guid isPermaLink="true">https://groundmail.dev/blog/password-reset-email-not-received/</guid>
      <description>When users don't get password reset emails, check whether it was sent, bounced or suppressed, landed in spam, failed authentication, or had its link used by a scanner.</description>
      <category>Transactional email</category>
      <category>Deliverability</category>
      <category>Troubleshooting</category>
      <pubDate>Sun, 18 Oct 2026 12:00:00 GMT</pubDate>
    </item>
    <item>
      <title>SMTP relay service: how to choose one</title>
      <link>https://groundmail.dev/blog/smtp-relay-service/</link>
      <guid isPermaLink="true">https://groundmail.dev/blog/smtp-relay-service/</guid>
      <description>An SMTP relay service sends your app's email through authenticated, reputable mail servers. What to compare, when to use an HTTP API instead, and a setup example.</description>
      <category>SMTP</category>
      <category>Transactional email</category>
      <category>Deliverability</category>
      <pubDate>Sun, 18 Oct 2026 12:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Why are my emails going to spam?</title>
      <link>https://groundmail.dev/blog/why-are-my-emails-going-to-spam/</link>
      <guid isPermaLink="true">https://groundmail.dev/blog/why-are-my-emails-going-to-spam/</guid>
      <description>Emails usually land in spam because of failed or unaligned SPF, DKIM and DMARC, a poor sender reputation or blocklisting, or high complaints. How to find which.</description>
      <category>Deliverability</category>
      <category>DMARC</category>
      <category>Troubleshooting</category>
      <pubDate>Sun, 18 Oct 2026 12:00:00 GMT</pubDate>
    </item>
  </channel>
</rss>
