Diff: XMailer

Differences between version 4 and predecessor to the previous major change of XMailer.

Other diffs: Previous Revision, Previous Author

Newer page: version 4 Last edited on December 12, 2004 3:36 pm by PhilHollenback Revert
Older page: version 3 Last edited on March 31, 2002 1:05 pm by PhilHollenback Revert
@@ -1,17 +1,19 @@
-That's something I actually wondered one day - so I wrote some scripts to find out:  
+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.  
  
-[http://www .hollenback .net/xmailer/all_mailers .png]  
+I ran these scripts for several years on my server. However, I've now switched to hosted web space and mail (may I recommned [fastmail.fm| http://fastmail .fm]?) . Thus, I can't run my scripts any more
  
-Here are the (almost) [raw numbers|http://www .hollenback.net/xmailer/xmailer-stats.html] used to generate this graph
+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
  
-You may notice that the sum of all the values in the graph does not add up to the 'total messages received' number . That is because I don't graph the number of 'unknown mailers' (messages without X-Mailer headers). You can find this number on the [raw data|http://www.hollenback.net/xmailer/xmailer -stats.html] page . Add it to the other counts and everything will come out correct
+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
  
-Updated every hour (did you really think I would trust you with a cgi script)?  
+xmdump reads the database generated by xmget and produces a pretty graph suitable for inclusion in a web page.  
  
-I need to explain this thing at some point. Right now you just need to know that I count X-Mailer and User-Agent message headers
+xmlistconv is a helper script that reads the database and produces a html page listing all the mailers
  
-Unfortunately it appears at this point that the vast majority of emails I receive do not contain these headers. I suspect this is because I am on a lot of mail lists. An improvement to this report might be to start looking for things like Majordomo headers too.  
+The scripts:  
  
-Here are the three scripts that collect the data and generate the graph : [xmget|ftp ://ftp .hollenback.net/pub/xmailer /xmget] [xmdump|ftp ://ftp .hollenback.net/pub/xmailer /xmdump] [xmlistconv|ftp ://ftp .hollenback.net/pub/xmailer /xmlistconv] 
+; :[xmget|http ://www .hollenback.net/sysadmin /xmget] - meant to be run on every incoming mail via procmail.  
+;: [xmdump|http ://www .hollenback.net/sysadmin /xmdump] - meant to be run via cron on a regular basis.  
+;: [xmlistconv|http ://www .hollenback.net/sysadmin /xmlistconv] - utility script to pretty-print the database info.  
  
 --phil 

version 4

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 recommned 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.

--phil



Our Founder
ToolboxClick to hide/show