Differences between version 6 and revision by previous author of XMailer.
Other diffs: Previous Major Revision, Previous Revision
| Newer page: | 
version 6 | 
Last edited on March 1, 2012 10:13 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,21 @@
+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 recommend [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.
 
 
-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.
 
 
 
 
version 6
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.
 
--phil
CategoryGeekStuff