Differences between version 6 and predecessor to the previous major change of XMailer.
Other diffs: Previous Revision, Previous Author
@@ -1,17 +1,21 @@
-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 recommend
[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.
-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