<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Spf on DevLogs</title><link>https://blog.param.sh/tags/spf/</link><description>Recent content in Spf on DevLogs</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sun, 22 Mar 2026 14:24:59 +0530</lastBuildDate><atom:link href="https://blog.param.sh/tags/spf/index.xml" rel="self" type="application/rss+xml"/><item><title>Part 3.2: Setup iRedMail Server on Linux in less than 20 minutes</title><link>https://blog.param.sh/posts/how-to-setup-iredmail-server-on-linux/</link><pubDate>Sun, 22 Mar 2026 14:24:59 +0530</pubDate><guid>https://blog.param.sh/posts/how-to-setup-iredmail-server-on-linux/</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 configure a mail server (iRedMail) on the EC2, assign an Elastic IP (static public IP), enable port access for SMTP / IMAP communications and more, to replicate an actual email flow from server to server.&lt;/p&gt;
&lt;h3 id="pre-requisites"&gt;
 Pre-Requisites
 &lt;a class="heading-link" href="#pre-requisites"&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;ol&gt;
&lt;li&gt;You have access to a linux environment where you want to configure iRedMail.&lt;/li&gt;
&lt;li&gt;Network connection on that linux environment.&lt;/li&gt;
&lt;li&gt;Privileges to run the commands as a super user.&lt;/li&gt;
&lt;li&gt;A TLD domain to setup mail server&amp;rsquo;s hostname and configure settings.&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="notice info"&gt;
 &lt;div class="notice-title"&gt;
 &lt;i class="fa-solid fa-exclamation-circle" aria-hidden="true"&gt;&lt;/i&gt;Info
 &lt;/div&gt;
 &lt;div class="notice-content"&gt;Make sure to replace &lt;code&gt;example.com&lt;/code&gt; with the domain that you have registered with your DNS provider. Use of &lt;code&gt;example.com&lt;/code&gt; is for merely demo purposes to showcase how DNS mapping is working.&lt;/div&gt;
&lt;/div&gt;

&lt;h2 id="prepare-the-linux-instance"&gt;
 Prepare the Linux Instance
 &lt;a class="heading-link" href="#prepare-the-linux-instance"&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;Login to the linux instance:&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>