<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>IMAP on DevLogs</title><link>https://blog.param.sh/tags/imap/</link><description>Recent content in IMAP on DevLogs</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sat, 04 Apr 2026 09:36:46 +0530</lastBuildDate><atom:link href="https://blog.param.sh/tags/imap/index.xml" rel="self" type="application/rss+xml"/><item><title>Part 3.3: Connecting Thunderbird to your Mail Server</title><link>https://blog.param.sh/posts/setting-up-thunderbird-as-your-mail-client/</link><pubDate>Sat, 04 Apr 2026 09:36:46 +0530</pubDate><guid>https://blog.param.sh/posts/setting-up-thunderbird-as-your-mail-client/</guid><description>&lt;div class="notice note"&gt;
 &lt;div class="notice-title"&gt;
 &lt;i class="fa-solid fa-sticky-note" aria-hidden="true"&gt;&lt;/i&gt;Note
 &lt;/div&gt;
 &lt;div class="notice-content"&gt;This walkthrough is part of the &lt;a href="https://blog.param.sh/series/cloning-gmails-architecture" &gt;Cloning Gmail&amp;rsquo;s Architecture&lt;/a&gt; series. For better context, I suggest you to start from &lt;a href="https://blog.param.sh/posts/mail-server-communications-101/" &gt;Part 1&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;In this tutorial, we will look how to install and configure a mail client (Thunderbird) on your local machine with your personal mail server, by setting up IMAP and SMTP connections.&lt;/p&gt;
&lt;h3 id="about-thunderbird"&gt;
 About Thunderbird
 &lt;a class="heading-link" href="#about-thunderbird"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://www.thunderbird.net/" class="external-link" target="_blank" rel="noopener"&gt;Mozilla Thunderbird&lt;/a&gt; (yep, the same organization owning Firefox) is a free, open-source desktop email client that lets users send, receive, and manage email from multiple accounts in one place. In this guide, it serves as the client used to connect to the self-hosted mail server configured earlier in the &lt;a href="https://blog.param.sh/series/cloning-gmails-architecture/" &gt;series&lt;/a&gt;. It is available to download for linux, macos, windows and android. They have also added an iOS version to their future roadmap and is currently in beta.&lt;/p&gt;</description></item><item><title>Part 1: Mail Server Communications 101</title><link>https://blog.param.sh/posts/mail-server-communications-101/</link><pubDate>Sun, 01 Mar 2026 23:21:21 +0530</pubDate><guid>https://blog.param.sh/posts/mail-server-communications-101/</guid><description>&lt;p&gt;This guide explains the core building blocks required to send and receive email via the internet. It focuses on a understanding how the email is sent across the real world and what protocols are used within this communication.&lt;/p&gt;
&lt;h1 id="the-components-of-a-mail-communication"&gt;
 The Components of a Mail Communication
 &lt;a class="heading-link" href="#the-components-of-a-mail-communication"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#1-dns-server" &gt;&lt;strong&gt;DNS Server&lt;/strong&gt;&lt;/a&gt;: Routes trusted servers, handles MX / SPF / DKIM records for mail delivery and authority verification.&lt;/li&gt;
&lt;li&gt;&lt;a href="#2-mail-servers" &gt;&lt;strong&gt;Mail Servers&lt;/strong&gt;&lt;/a&gt;: Receives outbound emails from clients and moves messages across each other using &lt;em&gt;SMTP&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href="#3-mail-clients" &gt;&lt;strong&gt;Mail Client&lt;/strong&gt;&lt;/a&gt;: Applications used by people to send / receive emails (eg. Outlook, Thunderbird).&lt;/li&gt;
&lt;/ul&gt;
&lt;figure class="markdown-media"&gt;&lt;img
 src="https://blog.param.sh/posts/mail-server-communications-101/mail-communication-over-the-internet.svg"
 alt="Mail Server Communication Model"
 loading="lazy"
 decoding="async"
 &gt;
 &lt;figcaption&gt;Mail Server Communication Model&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h4 id="mail-flow"&gt;
 Mail flow
 &lt;a class="heading-link" href="#mail-flow"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;You write an email on thunderbird and press Send.&lt;/li&gt;
&lt;li&gt;Your mail client submits it to your mail server using SMTP (port 587).&lt;/li&gt;
&lt;li&gt;Your mail server checks the recipient’s domain.&lt;/li&gt;
&lt;li&gt;It queries DNS to find the domain’s MX record.&lt;/li&gt;
&lt;li&gt;DNS tells your server which mail server handles that domain.&lt;/li&gt;
&lt;li&gt;Your server connects to the recipient’s server using SMTP (port 25).&lt;/li&gt;
&lt;li&gt;The recipient server verifies security (SPF/DKIM/TLS).&lt;/li&gt;
&lt;li&gt;If valid, it accepts and stores the email.&lt;/li&gt;
&lt;li&gt;The recipient’s mail client connects via IMAP (993) or POP3 (995).&lt;/li&gt;
&lt;li&gt;The email appears in their inbox.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="1-dns-server"&gt;
 1. DNS Server
 &lt;a class="heading-link" href="#1-dns-server"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Before email works, the internet must know which server handles mail for a particular domain, where that server is located and whether that server is trusted. This is handled through &lt;strong&gt;DNS (Domain Name System)&lt;/strong&gt;.&lt;/p&gt;</description></item></channel></rss>