Diff: XMailer

Differences between version 4 and revision by previous author of XMailer.

Other diffs: Previous Major Revision, Previous Revision

Newer page: version 4 Last edited on December 12, 2004 3:36 pm by PhilHollenback Revert
Older page: version 2 Last edited on January 1, 2002 7:37 pm by 202.175.31.101 Revert
@@ -1,16 +1,19 @@
+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.  
  
-That's something I actually wondered one day - so I wrote some scripts 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|http ://fastmail.fm]?). Thus, I can't run my scripts any more.  
  
-[http://www .hollenback .net/xmailer/all_mailers.png]  
+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
  
-Here are the (almost ) [raw numbers|http://www .hollenback.net/xmailer/xmailer -stats .html] used to generate this graph
+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
  
-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
+xmdump reads the database generated by xmget and produces a pretty graph suitable for inclusion in a web page. 
  
-Updated every hour (did you really think I would trust you with a cgi script)?  
+xmlistconv is a helper script that reads the database and produces a html page listing all the mailers.  
  
-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.  
+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