One day a few years back, I wondered what mailers people were using to send me messages. So, I wrote some perl scripts to process my incoming mail and attempt to find out.

I ran these scripts for several years on my server. However, I've now switched to hosted web space and mail (may I recommend fastmail.fm?). Thus, I can't run my scripts any more.

Still, I will leave the scripts up on my web site in case anyone else wants them. The scripts do show how to use tied databases in perl, so they might make a useful learning tool.

Theory of operation: every incoming email gets fed to xmget (via procmail). xmget processes the message and extracts the X-Mailer or User-Agent header. That header is stored in a database via a tied perl hash.

xmdump reads the database generated by xmget and produces a pretty graph suitable for inclusion in a web page.

xmlistconv is a helper script that reads the database and produces a html page listing all the mailers.

The scripts:

xmget - meant to be run on every incoming mail via procmail.
xmdump - meant to be run via cron on a regular basis.
xmlistconv - utility script to pretty-print the database info.



Our Founder
ToolboxClick to hide/show