<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[@fuck.it blog]]></title><description><![CDATA[How email actually works, how it breaks and how to move yours somewhere better. Written by the people running a small, stubbornly private email service.]]></description><link>https://fuckit.hashnode.dev</link><image><url>https://cdn.hashnode.com/uploads/logos/6ab90c015344d4a8795faf29/63512258-b2e9-432b-97fd-f5fa70b0644a.png</url><title>@fuck.it blog</title><link>https://fuckit.hashnode.dev</link></image><generator>RSS for Node</generator><lastBuildDate>Wed, 07 Oct 2026 07:08:42 GMT</lastBuildDate><atom:link href="https://fuckit.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[SPF, DKIM and DMARC Explained Without the Migraine]]></title><description><![CDATA[Email was built on trust. Specifically, on the assumption that nobody would lie about who they are.
That assumption lasted about ten minutes. The protocol that moves your mail, SMTP, will happily let ]]></description><link>https://fuckit.hashnode.dev/spf-dkim-and-dmarc-explained-without-the-migraine</link><guid isPermaLink="true">https://fuckit.hashnode.dev/spf-dkim-and-dmarc-explained-without-the-migraine</guid><category><![CDATA[email]]></category><category><![CDATA[DKIM]]></category><category><![CDATA[spf]]></category><category><![CDATA[DMARC]]></category><category><![CDATA[email security]]></category><dc:creator><![CDATA[Gerwin]]></dc:creator><pubDate>Thu, 01 Oct 2026 20:26:53 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6ab90c015344d4a8795faf29/340d7fca-36d6-4cce-8d24-6c481b0a46c2.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Email was built on trust. Specifically, on the assumption that nobody would lie about who they are.</p>
<p>That assumption lasted about ten minutes. The protocol that moves your mail, SMTP, will happily let any server claim to be sending from any address. There's no password, no check, nothing. Writing an email that appears to come from your bank is about as hard as writing a letter and putting their address on the back of the envelope.</p>
<p>SPF, DKIM and DMARC are the patches bolted on afterward to fix that. Three acronyms, three DNS records, and one shared purpose: proving that mail claiming to come from your domain actually does.</p>
<p>Here's what each one does, how they fit together and what changed in 2026.</p>
<h2>TL;DR</h2>
<ul>
<li><p><strong>SPF</strong> lists which servers may send mail for your domain. It checks the envelope sender, not the address your recipient sees.</p>
</li>
<li><p><strong>DKIM</strong> signs each message, proving which domain signed it and that the signed parts weren't altered.</p>
</li>
<li><p><strong>DMARC</strong> requires one of those to match the From address your recipient sees, tells receivers what to do when neither does, and sends you reports.</p>
</li>
<li><p><strong>You need both SPF and DKIM.</strong> Forwarding often breaks SPF, while a DKIM signature can survive it. Mailing lists often break DKIM, and SPF usually can't rescue it, because the list passes for its own domain.</p>
</li>
<li><p><strong>2026 update:</strong> DMARC is now a real standard (RFC 9989). The <code>pct</code> tag is gone, <code>t=y</code> means one step softer rather than off, and three old tags should be deleted.</p>
</li>
<li><p><strong>Roll out slowly:</strong> <code>p=none</code> first, read the reports, then <code>quarantine</code>. Whether <code>reject</code> is right for you depends on how your domain is used.</p>
</li>
</ul>
<h2>Why Any of This Exists</h2>
<p>When you send a message, two different "from" addresses are involved, and that distinction is the key to everything below.</p>
<p>The <strong>envelope sender</strong> is what the sending server tells the receiving server during the SMTP conversation. Think of it as the return address on the outside of the envelope. Nobody reads it except the postal system.</p>
<p>The <strong>From header</strong> is what your mail app displays. That's the one humans see, and the one scammers care about.</p>
<p>They don't have to match. That gap is where spoofing lives, and it's why SPF alone was never enough.</p>
<h2>SPF: Who's Allowed to Send</h2>
<p><strong>SPF (Sender Policy Framework)</strong> is a list of servers permitted to send mail for your domain, published as a TXT record in DNS. It looks like this:</p>
<pre><code class="language-text">v=spf1 include:_spf.example-provider.com ip4:203.0.113.5 ~all
</code></pre>
<p>Read it left to right: this is an SPF record, mail may come from the servers that provider lists, also from this one IP address, and anything else is suspicious.</p>
<p>That last bit matters:</p>
<ul>
<li><p><code>~all</code> <strong>(softfail)</strong> means "probably not authorized." Receivers are told not to reject on that result alone.</p>
</li>
<li><p><code>-all</code> <strong>(fail)</strong> means "not authorized." Even then, it's a result, not an instruction. What happens next is the receiver's decision.</p>
</li>
<li><p><code>+all</code> means "anyone may send as us." If you ever see this, something has gone badly wrong.</p>
</li>
</ul>
<p>Worth being clear: SPF produces a verdict, not a delivery outcome. No setting guarantees the inbox, and none forces a rejection.</p>
<p><strong>Three things that trip people up:</strong></p>
<ul>
<li><p><strong>Only one SPF record per domain.</strong> Two records is a configuration error, and receivers may fail the check entirely. Merge everything into one.</p>
</li>
<li><p><strong>Ten DNS lookups, maximum.</strong> Every <code>include:</code> costs lookups, and each service you add brings its own. Go over the limit and the check fails outright. Three or four providers is enough to get you there.</p>
</li>
<li><p><strong>Forwarding usually breaks SPF.</strong> If someone forwards your message, the forwarding server becomes the sender, and it isn't on your list. This isn't a bug you can fix. It's why DKIM exists.</p>
</li>
</ul>
<h2>DKIM: Proof It's Really You</h2>
<p><strong>DKIM (DomainKeys Identified Mail)</strong> takes a different approach. Instead of listing servers, your sending server signs each message with a private key. The matching public key sits in your DNS, and the receiver uses it to verify the signature.</p>
<p>What a valid signature proves is narrower than people assume: that the domain in the signature signed this message, and that the signed parts arrived unaltered. That signing domain doesn't have to be the domain in the From address, which is exactly the gap DMARC closes. Canonicalization rules also allow some harmless reformatting, such as whitespace changes, without breaking the signature.</p>
<p>The result is a header on every message that looks roughly like this:</p>
<pre><code class="language-text">DKIM-Signature: v=1; a=rsa-sha256; d=example.com; s=selector1; ...
</code></pre>
<p>The <code>d=</code> is your domain, and <code>s=</code> is the <strong>selector</strong>, a label that tells the receiver which key to look up. Selectors let you run several keys at once, which is what makes key rotation possible without downtime.</p>
<p><strong>Why DKIM is the more resilient of the two:</strong> the signature travels with the message rather than the connection. It can survive several forwards, provided the signed content stays intact under its canonicalization rules.</p>
<p><strong>What breaks it:</strong> changes that alter the signed data beyond what the canonicalization rules tolerate. Some whitespace changes are tolerated, depending on the canonicalization rules used. Mailing lists that add a footer or rewrite the subject line are the classic breakage, since both touch signed content. Some lists add their own signature afterward, but yours is already broken by then.</p>
<p><strong>Practical notes:</strong> use 2048-bit keys, since 1024 is considered weak now. Rotate keys periodically with a new selector. And check that every service sending on your behalf has DKIM set up, not just your main mail server.</p>
<h2>DMARC: The Part That Ties It Together</h2>
<p>Here's the gap SPF and DKIM leave open. Both can pass for a domain that has nothing to do with the From address your recipient sees. A scammer can pass SPF and DKIM for their own domain while putting your bank's domain in the visible From address.</p>
<p><strong>DMARC</strong> closes that gap with one idea: <strong>alignment</strong>.</p>
<p>Alignment means the domain that passed SPF or DKIM has to match the domain in the visible From address. A message passes DMARC if either check passes <strong>and</strong> aligns. One is enough, which is why having both matters: plain forwarding usually breaks SPF while a DKIM signature survives it. Mailing lists are the harder case. A list that edits the message breaks your DKIM signature, and although SPF may well pass for the list's own domain, that domain isn't yours, so it doesn't align and DMARC can still fail.</p>
<p>Alignment comes in two flavors. <strong>Relaxed</strong>, the default, accepts any subdomain of the same organizational domain, so <code>mail.example.com</code> aligns with <code>example.com</code>. <strong>Strict</strong> (<code>adkim=s</code>, <code>aspf=s</code>) demands an exact match. If your setup looks broken, check which mode you're in before you start changing records.</p>
<p>A DMARC record is a TXT record at <code>_dmarc.yourdomain.com</code>:</p>
<pre><code class="language-text">v=DMARC1; p=none; np=reject; rua=mailto:dmarc@example.com
</code></pre>
<p>The parts worth knowing:</p>
<ul>
<li><p><code>p=</code> is what receivers should do with mail that fails: <code>none</code> (nothing, just report), <code>quarantine</code> (spam folder) or <code>reject</code> (refuse delivery).</p>
</li>
<li><p><code>rua=</code> is where daily aggregate reports go. These XML files tell you who's sending as your domain and whether it passes. DMARC without reading reports is a smoke detector with the battery removed.</p>
</li>
<li><p><code>sp=</code> sets a different policy for subdomains.</p>
</li>
<li><p><code>np=</code> sets a policy for subdomains that don't exist at all.</p>
</li>
</ul>
<h2>What Changed in 2026</h2>
<p>For eleven years, every DMARC record anyone wrote was based on RFC 7489, an <strong>informational</strong> document from 2015. Not a standard. A description of what the big mailbox providers had agreed among themselves, which everyone then implemented slightly differently.</p>
<p>In May 2026 that changed. DMARC became a proper IETF Standards Track protocol, split across three documents: RFC 9989 for the core protocol, RFC 9990 for aggregate reports and RFC 9991 for failure reports. Together they replace RFC 7489.</p>
<p>Your existing records still work. But four things changed:</p>
<ul>
<li><p><code>pct</code> <strong>is removed.</strong> This was the "apply my policy to only 10% of failing mail" dial, and receivers implemented it so inconsistently that nobody could tell what it was doing. A binary <code>t</code> tag replaces it.</p>
</li>
<li><p><code>t=y</code> <strong>is not an off switch.</strong> It asks receivers to apply the <strong>next less strict</strong> policy: <code>reject</code> becomes quarantine, <code>quarantine</code> becomes none. Receivers that haven't adopted RFC 9989 ignore the tag and apply your policy in full, so don't treat it as a safe universal test mode.</p>
</li>
<li><p><strong>Watch out if you sit at a fractional</strong> <code>pct</code><strong>.</strong> A receiver following the new spec ignores the tag and applies your full policy.</p>
</li>
<li><p><code>np</code> <strong>moves into the standard.</strong> It sets the policy for mail that <strong>fails DMARC</strong> while claiming a subdomain that DNS reports as nonexistent, meaning the lookup returns NXDOMAIN rather than merely lacking one record type. The tag isn't new; it came from the experimental RFC 9091 in 2021, but it's part of the core spec now. Check your real sending subdomains resolve before you publish <code>np=reject</code>.</p>
</li>
<li><p><code>rf</code> <strong>and</strong> <code>ri</code> <strong>are removed.</strong> <code>rf</code> named the format for failure reports, which use an ARF-derived format. <code>ri</code> requested an interval between aggregate reports, which are XML. Receivers are encouraged to report daily, but nothing obliges them to send reports at all, which is what made a requested interval meaningless. Delete both tags.</p>
</li>
</ul>
<p>One more change happens behind the scenes: receivers used to consult the Public Suffix List, a big crowd-maintained file, to work out where your organizational domain ended and subdomains began. That's replaced by a DNS tree walk, which queries your DNS directly. As a sender, you just need your DMARC record published at your organizational domain.</p>
<p>Adoption won't be instant. Gmail, Yahoo and Microsoft will each move on their own schedule, so for a while a message might be judged by either the old rules or the new ones. Records that work under both are the safe play, and that's what the examples here are.</p>
<h2>Rolling It Out Without Breaking Your Mail</h2>
<p>The order matters. Do it backwards and you'll silently delete your own invoices.</p>
<ol>
<li><p><strong>Publish SPF and DKIM</strong> for every service that sends on your behalf. Your mail provider, your newsletter tool, your CRM, your billing system, that cron job from 2019. All of them.</p>
</li>
<li><p><strong>Publish DMARC at</strong> <code>p=none</code> with a <code>rua</code> address. Nothing changes for your mail. Reports start arriving.</p>
</li>
<li><p><strong>Check your subdomains, then consider</strong> <code>np=reject</code><strong>.</strong> Confirm every subdomain you actually send from resolves in DNS, and you can close a whole class of spoofing cheaply.</p>
</li>
<li><p><strong>Read the reports for a few weeks.</strong> You'll find senders you forgot about. Fix each one so it aligns.</p>
</li>
<li><p><strong>Move to</strong> <code>p=quarantine</code><strong>,</strong> watch for problems, and then decide whether <code>reject</code> suits your domain.</p>
</li>
</ol>
<p>That last word is deliberate. RFC 9989 advises against <code>p=reject</code> for domains whose users post to mailing lists, because redistribution breaks authentication and legitimate mail dies. It also tells receivers to treat a reject failure as quarantine unless their own analysis supports rejecting, and says any domain publishing <code>reject</code> should have working aligned DKIM rather than leaning on SPF. A parked domain that sends nothing is the easy case for <code>reject</code>. A transactional domain can get there too, once you've confirmed every sending path authenticates and watched for forwarding problems in the reports. A domain full of humans who join mailing lists may be better off stopping at <code>quarantine</code>.</p>
<p>The slow part is step 4, and skipping it is how companies discover their payroll notifications were going to nobody.</p>
<h2>How to Check Your Own Setup</h2>
<p>Three commands tell you most of what you need:</p>
<pre><code class="language-bash">dig +short TXT example.com # your SPF record
dig +short TXT selector1._domainkey.example.com # a DKIM key
dig +short TXT _dmarc.example.com # your DMARC policy
</code></pre>
<p>Then check from the other side. Send a message to an account elsewhere and look at the raw headers for the <code>Authentication-Results</code> line. It names each check and whether it passed. That's the receiving server's verdict, which is the only opinion that counts.</p>
<h2>What This Does Not Protect You From</h2>
<p>Authentication proves a message came from a domain. It says nothing about whether the domain belongs to someone honest.</p>
<ul>
<li><p><strong>Lookalike domains.</strong> <code>yourbank-secure.com</code> can have perfect SPF, DKIM and DMARC. It's still a scam.</p>
</li>
<li><p><strong>Display-name spoofing.</strong> Most mail apps show "Your Bank" and hide the actual address. The name field is free text and always has been.</p>
</li>
<li><p><strong>Compromised accounts.</strong> If someone steals real credentials, their mail authenticates perfectly, because it genuinely is you.</p>
</li>
<li><p><strong>Content.</strong> A properly signed message can still be a phishing attempt.</p>
</li>
</ul>
<p>Authentication answers "did this really come from that domain?" It never answers "should I trust that domain?"</p>
<h2>Why This Became Mandatory</h2>
<p>Through 2024, Google and Yahoo started requiring authentication from bulk senders: SPF and DKIM, a DMARC record, one-click unsubscribe on marketing and subscribed mail, and complaint rates kept low. Microsoft followed in 2025 for high-volume senders to Outlook.com.</p>
<p>That turned a best practice into an entry requirement. Fail it and your mail may be rejected, rate-limited or dropped into spam, depending on the provider and the failure. A rejection at least bounces back to you. The quieter outcomes, throttling and the spam folder, are the ones you discover weeks later from a customer.</p>
<p>For small senders the rules are looser, but the direction is clear. Unauthenticated mail is becoming the exception, and exceptions get treated with suspicion.</p>
<h2>Where [@fuck.it] Lands</h2>
<p>If you're sending from an [@fuck.it] address, all of this is already handled for you. Our domain is authenticated and monitored, the reports are read, and keeping it that way is a permanent part of the job rather than a thing we set up once.</p>
<p>If you run your own domain somewhere else, the records above are yours to publish. Start at <code>p=none</code>, check which subdomains resolve before adding <code>np=reject</code>, read the reports, and let them tell you how far toward enforcement your domain can go. It's an afternoon of work and a few weeks of patience.</p>
<p>The alternative is finding out from a customer that someone has been sending invoices in your name.</p>
<hr />
<p><strong>Sources &amp; further reading:</strong> <a href="https://www.rfc-editor.org/rfc/rfc7208">RFC 7208: SPF</a> · <a href="https://www.rfc-editor.org/rfc/rfc6376">RFC 6376: DKIM</a> · <a href="https://www.rfc-editor.org/rfc/rfc9989">RFC 9989: DMARC</a> · <a href="https://www.rfc-editor.org/rfc/rfc9990">RFC 9990: DMARC Aggregate Reporting</a> · <a href="https://support.google.com/mail/answer/81126">Google: Email sender guidelines</a></p>
<p><strong>Related reads:</strong> <a href="https://fuck.it/blog/imap-vs-pop3">IMAP vs POP3: Which One Should You Actually Use?</a> · <a href="https://fuck.it/blog/secure-email-buzzwords-bullshit-real-deal">Secure Email: The Buzzwords, the Bullshit, the Real Deal</a></p>
<hr />
<p><em>Disclosure: I run</em> <a href="https://fuck.it"><em>[@fuck.it]</em></a><em>, a paid email service, so I deal with these protocols for a living. The advice above applies wherever your mail lives.</em></p>
]]></content:encoded></item><item><title><![CDATA[IMAP vs POP3: Which One Should You Actually Use?]]></title><description><![CDATA[Somewhere in every mail app's setup screen there's a question most people answer by guessing: IMAP or POP3?
If you guessed wrong, you probably found out later. Your phone showed emails your laptop had]]></description><link>https://fuckit.hashnode.dev/imap-vs-pop3-which-one-should-you-actually-use</link><guid isPermaLink="true">https://fuckit.hashnode.dev/imap-vs-pop3-which-one-should-you-actually-use</guid><category><![CDATA[email]]></category><category><![CDATA[email deliverability]]></category><category><![CDATA[email security]]></category><category><![CDATA[protocols]]></category><category><![CDATA[Beginner Developers]]></category><category><![CDATA[beginnersguide]]></category><category><![CDATA[Tutorial]]></category><dc:creator><![CDATA[Gerwin]]></dc:creator><pubDate>Sun, 27 Sep 2026 12:50:25 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6ab90c015344d4a8795faf29/f94792ab-1269-400d-aeaa-63d4284421f2.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Somewhere in every mail app's setup screen there's a question most people answer by guessing: IMAP or POP3?</p>
<p>If you guessed wrong, you probably found out later. Your phone showed emails your laptop had never heard of. You deleted something on one device and it lived on, undead, on another. Or you replaced your laptop and ten years of mail went to the recycling center with the old one.</p>
<p>Here's what the two actually do, which one you want and the one situation where the old one still earns its place.</p>
<h2>TL;DR</h2>
<ul>
<li><strong>IMAP</strong> keeps your mail on the server and syncs it to every device. Read it on your phone, it's read on your laptop. Use it by default.</li>
<li><strong>POP3</strong> downloads your mail to one device and usually deletes it from the server. Simple, offline, single-device.</li>
<li><strong>Neither one sends mail.</strong> That's SMTP's job, and you need it either way.</li>
<li><strong>Use POP3 only if</strong> you read mail on one computer, want your archive stored locally and are prepared to back it up yourself.</li>
<li><strong>Gmail's POP news</strong> is about Gmail fetching other accounts, not about your mail app. Apps can still connect to Gmail with either protocol.</li>
</ul>
<h2>The Post Office vs. the Filing Cabinet</h2>
<p>The names give it away.</p>
<p>POP stands for Post Office Protocol, and it works like a post office box. You go in, empty the box and take everything home. What happens to the letters after that is your business. The post office neither knows nor cares.</p>
<p>IMAP, the Internet Message Access Protocol, is more like a filing cabinet that stays at the post office. You can read letters there, sort them into drawers, flag the important ones and leave everything in place. Come back through a different door with a different key and you'll find the same cabinet in the same state.</p>
<p>That's the whole difference. Everything else follows from where the mail lives.</p>
<h2>POP3: Download and Done</h2>
<p>POP3 does one thing: it fetches the messages in your inbox and hands them to your mail app. It was built for download-and-delete, and the people who maintain the standard have said explicitly that's what it should stay.</p>
<p>In practice:</p>
<ul>
<li><strong>It only sees your inbox.</strong> Folders on the server don't exist as far as POP3 is concerned.</li>
<li><strong>Nothing syncs back.</strong> Read, flagged, moved, deleted: all of that happens on your device only.</li>
<li><strong>"Leave a copy on the server" isn't sync.</strong> It helps, but your phone and laptop each download their own copy and keep their own separate opinions about it.</li>
<li><strong>Sent mail stays put.</strong> It lives on whichever device you sent it from.</li>
</ul>
<p>The upside is simplicity. Your mail sits on your own disk, readable offline, independent of the provider.</p>
<h2>IMAP: One Mailbox, Every Device</h2>
<p>IMAP was designed in 1986 for exactly the thing POP3 doesn't do: working with a mailbox that stays on the server. The current version, IMAP4rev2, was published in 2021 as RFC 9051.</p>
<p>In practice:</p>
<ul>
<li><strong>Everything stays in sync.</strong> Read status, flags, folders, deletions: change it on one device and every other device agrees.</li>
<li><strong>All your folders are there,</strong> including Sent, Drafts and Archive.</li>
<li><strong>New device, same mailbox.</strong> Sign in and your mail is there. Nothing to copy.</li>
<li><strong>Offline still works.</strong> Your app keeps a local copy for speed and offline reading, but the server holds the real thing.</li>
</ul>
<p>The downside: you depend on the server. Your storage quota applies to everything you keep, and if the provider is down, you're reading whatever your device has stored.</p>
<h2>Neither One Sends Mail</h2>
<p>A common source of confusion: IMAP and POP3 only receive. Sending is handled by SMTP, a separate protocol with its own server settings.</p>
<p>Every mail app asks for both: an incoming server (IMAP or POP3) and an outgoing server (SMTP). If you can receive but not send, check the SMTP settings first.</p>
<h2>So Which One?</h2>
<p><strong>Use IMAP if:</strong></p>
<ul>
<li>You read mail on more than one device. That's almost everyone with a phone.</li>
<li>You want folders, flags and read status to follow you.</li>
<li>You don't want to lose your mail when a laptop dies.</li>
</ul>
<p><strong>POP3 still makes sense if:</strong></p>
<ul>
<li>You read mail on exactly one computer and like it that way.</li>
<li>You want your archive on your own disk rather than a provider's server.</li>
<li>You're up against a storage limit and want the server emptied regularly.</li>
</ul>
<p>There's a privacy argument for POP3 too: mail you've downloaded and deleted from the server isn't sitting there anymore, apart from whatever backups the provider keeps for a while. It's a fair point with a catch. Your computer now holds the only copy. If it's stolen, broken or unencrypted, that's on you. Encrypt the disk and back it up, or your privacy win turns into a data-loss plan.</p>
<h2>Settings Cheat Sheet</h2>
<p>Your provider lists its exact server names. The ports are usually standard:</p>
<table>
<thead>
<tr>
<th>Protocol</th>
<th>Port</th>
<th>Encryption</th>
</tr>
</thead>
<tbody><tr>
<td>IMAP</td>
<td>993</td>
<td>SSL/TLS</td>
</tr>
<tr>
<td>POP3</td>
<td>995</td>
<td>SSL/TLS</td>
</tr>
<tr>
<td>SMTP</td>
<td>465</td>
<td>SSL/TLS</td>
</tr>
<tr>
<td>SMTP</td>
<td>587</td>
<td>STARTTLS</td>
</tr>
</tbody></table>
<p>Always pick an encrypted option. If your app offers "None" as a security setting, that's the one not to choose. Your password would travel in plain text.</p>
<h2>Switching From POP3 to IMAP Without Losing Anything</h2>
<p>If you've been on POP3 for years, your old mail probably lives only on your computer. Here's how to move it without an accident:</p>
<ol>
<li><strong>Back up first.</strong> Copy your mail app's data folder or export your mailbox before you touch anything.</li>
<li><strong>Add the same address again as an IMAP account</strong> alongside the POP3 one. Don't remove the POP3 account yet.</li>
<li><strong>Drag your local folders into the IMAP account.</strong> That uploads them to the server. Big archives take a while.</li>
<li><strong>Check the server copy.</strong> Log in to webmail and confirm the folders and message counts match.</li>
<li><strong>Only then remove the POP3 account.</strong> In some apps, removing an account also deletes its locally stored mail. That's exactly why steps 1 and 4 come first.</li>
</ol>
<h2>About Gmail "Dropping POP"</h2>
<p>You may have read that Gmail is dropping POP. That's about Gmail's own "Check mail from other accounts" feature, which used POP to pull mail from other providers into Gmail. It stopped taking new users after the first quarter of 2026 and ends completely in January 2027.</p>
<p>It doesn't affect mail apps connecting to Gmail. Google says third-party apps can still reach Gmail over POP or IMAP. POP3 as a protocol isn't going anywhere. It's just losing one of its bigger fans.</p>
<p>The full story is in our guide to <a href="https://fuck.it/blog/gmail-send-as-third-party-accounts-ending">Gmail's Send As changes</a>.</p>
<hr />
<p><strong>Sources:</strong> <a href="https://www.rfc-editor.org/info/rfc9051/">RFC 9051: IMAP4rev2</a> · <a href="https://www.rfc-editor.org/rfc/rfc1939">RFC 1939: POP3</a> · <a href="https://www.rfc-editor.org/rfc/rfc8314">RFC 8314: Cleartext Considered Obsolete</a> · <a href="https://support.google.com/mail/answer/16604719?hl=en">Google: Changes to Gmailify &amp; POP in Gmail</a></p>
<p><em>Disclosure: I run <a href="https://fuck.it">[@fuck.it]</a>, a paid email service, so I deal with these protocols for a living. The advice above applies wherever your mail lives.</em></p>
]]></content:encoded></item></channel></rss>