<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <title>Colas.Nahaboo.net - email</title>
    <subtitle>Colas Nahaboo personal site, with discussions about programming code, web and computing topics, surfing and SUPing, and various musings.</subtitle>
    <link rel="self" type="application/atom+xml" href="https://colas.nahaboo.net/tags/email/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://colas.nahaboo.net"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2026-07-31T00:00:00+00:00</updated>
    <id>https://colas.nahaboo.net/tags/email/atom.xml</id>
    <entry xml:lang="en">
        <title>mailpixtracker: a lightweight bash CGI to track emails</title>
        <published>2026-07-31T00:00:00+00:00</published>
        <updated>2026-07-31T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://colas.nahaboo.net/code/mailpixtracker-a-bash-cgi-to-track-emails/"/>
        <id>https://colas.nahaboo.net/code/mailpixtracker-a-bash-cgi-to-track-emails/</id>
        
        <content type="html" xml:base="https://colas.nahaboo.net/code/mailpixtracker-a-bash-cgi-to-track-emails/">&lt;p&gt;&lt;img src=&quot;mpt3-576.png&quot; width=300 align=right&gt;When I send an email, did the recipient read it? So I wrote &lt;strong&gt;&lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;ColasNahaboo&#x2F;mailpixtracker&quot;&gt;mailpixtracker&lt;&#x2F;a&gt;&lt;&#x2F;strong&gt;, a small self-hosted CGI script that tracks when your emails are opened, via the classic invisible 1x1 pixel trick.&lt;&#x2F;p&gt;
&lt;p&gt;Think of &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.getmailtracker.com&#x2F;&quot;&gt;MailTracker&lt;&#x2F;a&gt; or &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;mailtrack.email&#x2F;&quot;&gt;MailTrack&lt;&#x2F;a&gt;, but without all the marketing machinery: no account on a third-party server, no spyware concerns, no &quot;business intelligence&quot; dashboards. Just three bash scripts on your own web server.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;how-it-works&quot;&gt;How it works&lt;a class=&quot;zola-anchor&quot; href=&quot;#how-it-works&quot; aria-label=&quot;Anchor link for: how-it-works&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;You create a new tracker with an optional name on your mailpixtracker page. It gives you a tiny HTML snippet to paste in your email such as:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #4C4F69; background-color: #EFF1F5;&quot;&gt;&lt;code data-lang=&quot;html&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #179299;&quot;&gt;&amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #1E66F5;&quot;&gt;img&lt;&#x2F;span&gt;&lt;span style=&quot;color: #DF8E1D;&quot;&gt; src&lt;&#x2F;span&gt;&lt;span style=&quot;color: #179299;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color: #40A02B;&quot;&gt;&amp;#39;https:&#x2F;&#x2F;my.mailpixtracker.org&#x2F;_&#x2F;12-I5rHJCFap&amp;#39;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #DF8E1D;&quot;&gt; width&lt;&#x2F;span&gt;&lt;span style=&quot;color: #179299;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color: #40A02B;&quot;&gt;1&lt;&#x2F;span&gt;&lt;span style=&quot;color: #DF8E1D;&quot;&gt; height&lt;&#x2F;span&gt;&lt;span style=&quot;color: #179299;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color: #40A02B;&quot;&gt;1&lt;&#x2F;span&gt;&lt;span style=&quot;color: #179299;&quot;&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;When someone opens your email and their mailer loads images, your server logs the request: date, IP, hostname, user-agent. No data ever leaves your server.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;features&quot;&gt;Features&lt;a class=&quot;zola-anchor&quot; href=&quot;#features&quot; aria-label=&quot;Anchor link for: features&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;No accounts&lt;&#x2F;strong&gt;: The URL &lt;em&gt;is&lt;&#x2F;em&gt; the authentication, via &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.w3.org&#x2F;TR&#x2F;capability-urls&#x2F;&quot;&gt;Capability URLs&lt;&#x2F;a&gt;. The admin URL is your unguessable &quot;password&quot; — share it with nobody and you are safe.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Plain files&lt;&#x2F;strong&gt;: Logs are tab-separated text, one line per open. No database.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Colored logs&lt;&#x2F;strong&gt;: Each distinct IP gets its own &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;programmingdesignsystems.com&#x2F;color&#x2F;perceptually-uniform-color-spaces&#x2F;&quot;&gt;perceptually-spaced color&lt;&#x2F;a&gt;, so you can spot repeat readers at a glance. Your own opens (while composing the email) show in dim grey, so they do not pollute the picture.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;New entries highlighted&lt;&#x2F;strong&gt;: Entries added since your last visit get a yellow marker.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Notes field&lt;&#x2F;strong&gt;: Each tracker has an editable name and notes — handy to remember what you sent, to whom, and when.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Guest accounts&lt;&#x2F;strong&gt;: Create isolated spaces for different purposes (work, family, surfing...) with admin (you) accounts, or guest accounts that you can just give to others with a link. Non-admin guests only see their own trackers.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Geolocalization&lt;&#x2F;strong&gt; (optional): With the MaxMind databases installed, logs show the organization and country of each reader.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;caveats&quot;&gt;Caveats&lt;a class=&quot;zola-anchor&quot; href=&quot;#caveats&quot; aria-label=&quot;Anchor link for: caveats&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;Email tracking is not foolproof. Most mailers now prompt before loading images, so people can read your email without ever triggering the tracker. Mailpixtracker will not tell you everything — but when it does fire, it is accurate, and the logs are all yours.&lt;&#x2F;p&gt;
&lt;p&gt;Also note that it is a tool for personal curiosity, not for marketing analytics: it has no click tracking, no A&#x2F;B testing, no &quot;campaigns&quot;. If you want that, there are plenty of SaaS products; this one is the lazy, self-hosted, private alternative.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;install&quot;&gt;Install&lt;a class=&quot;zola-anchor&quot; href=&quot;#install&quot; aria-label=&quot;Anchor link for: install&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;For instructions, see the code is at &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;ColasNahaboo&#x2F;mailpixtracker&quot;&gt;github.com&#x2F;ColasNahaboo&#x2F;mailpixtracker&lt;&#x2F;a&gt;, it is multi-licensed (MIT, Apache 2.0, MPL 2.0, LGPL v3, GPL v3) — pick whichever suits your project.&lt;&#x2F;p&gt;
</content>
        
    </entry>
</feed>
