<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Python on The Solutions Are Known</title><link>https://holmgrown.com/tsak/tags/python/</link><description>Recent content in Python on The Solutions Are Known</description><generator>Hugo</generator><language>en-US</language><copyright>Howard Holm</copyright><lastBuildDate>Thu, 08 Oct 2026 01:47:13 -0400</lastBuildDate><atom:link href="https://holmgrown.com/tsak/tags/python/index.xml" rel="self" type="application/rss+xml"/><item><title>Forwarding to Gmail via API</title><link>https://holmgrown.com/tsak/articles/forwarding-to-gmail-via-api/</link><pubDate>Mon, 07 Sep 2026 23:05:01 -0400</pubDate><guid>https://holmgrown.com/tsak/articles/forwarding-to-gmail-via-api/</guid><description>&lt;p&gt;Google is deprecating, and will &lt;a href="https://support.google.com/mail/answer/16604719"&gt;soon turn off&lt;/a&gt;,
Gmail&amp;rsquo;s ability to fetch mail from other servers via POP. (Despite what you may
have thought, Gmail has apparently never supported fetching over IMAP.) In
an update, covered in the link above, Google has extended this deprecation to
it&amp;rsquo;s &lt;em&gt;send-as&lt;/em&gt; feature as well. So while this tool will still work, it won&amp;rsquo;t
be possible to use your Gmail account as your primary interface to reading and
&lt;em&gt;responding&lt;/em&gt; to email at another domain.
Forwarding by SMTP is not a good substitute: forwarded messages commonly fail
&lt;a href="https://www.rfc-editor.org/rfc/rfc7208"&gt;SPF&lt;/a&gt;,
&lt;a href="https://www.rfc-editor.org/rfc/rfc6376"&gt;DKIM&lt;/a&gt;, and
&lt;a href="https://www.rfc-editor.org/rfc/rfc7489"&gt;DMARC&lt;/a&gt; checks, because the forwarding
server is no longer an authorized sender for the original domain. (The
&lt;a href="https://www.rfc-editor.org/rfc/rfc8617"&gt;ARC&lt;/a&gt; protocol exists to soften this,
but it depends on the receiving side trusting you.) So I turned to Gmail&amp;rsquo;s API,
and after a little more research than I wanted, I wrote a modest Python script.&lt;/p&gt;</description></item></channel></rss>