Elaborating on my own message... aox uses the following code:
if ( header()->field( HeaderField::MessageId ) )
return;
MD5 x;
x.add( rfc822() );
header()->add( "Message-Id",
"<" + x.hash().e64().mid( 0, 21 ) + ".md5@" +
Configuration::hostname() + ">" );
So if you see somethig like <132412341234123412341.md5@foo>, that's
likely from aox. (Abhijit and I have discussed using SHA-1 instead, but
the improvement doesn't seem worthwhile. Message-IDs should not be too
long.)
Most clients generate a message-id themselves before submitting, and
few have as robust an algorithm as aox. Many take the user's name, the
current time, the pid, and encode that in some way.
Arnt