All,
I downloaded the source code for Mozilla, did a full text index of it,
and used the index to explore the code. I found the following code in
nsMessageCompUtils.cpp that I think may answer my question about
Message-IDs in Mozilla.
****************************************************************
char *
msg_generate_message_id (nsIMsgIdentity *identity)
{
PRUint32 now;
PRTime prNow = PR_Now();
PRInt64 microSecondsPerSecond, intermediateResult;
LL_I2L(microSecondsPerSecond, PR_USEC_PER_SEC);
LL_DIV(intermediateResult, prNow, microSecondsPerSecond);
LL_L2UI(now, intermediateResult);
PRUint32 salt = 0;
const char *host = 0;
nsXPIDLCString from;
nsresult rv = identity->GetEmail(getter_Copies(from));
if (NS_FAILED(rv)) return nsnull;
GenerateGlobalRandomBytes((unsigned char *) &salt, sizeof(salt));
if (from) {
host = PL_strchr (from, '@');
if (host) {
const char *s;
for (s = ++host; *s; s++)
if (!nsCRT::IsAsciiAlpha(*s) && !nsCRT::IsAsciiDigit(*s) &&
*s != '-' && *s != '_' && *s != '.') {
host = 0;
break;
}
}
}
if (! host)
/* If we couldn't find a valid host name to use, we can't generate a
valid message ID, so bail, and let NNTP and SMTP generate them.
*/
return 0;
return PR_smprintf("<%lX.%lX@%s>",
(unsigned long) now, (unsigned long) salt, host);
}
*************************************************************************
>From this code, it appears the format of a Message-ID in Mozilla is
"time.random@host" where time is reported as a 32bit HEX value
representing Year, Month, Day, Hour, Minute, Second and random is a HEX
representation of a random 32bit number.
So for the Message-ID [EMAIL PROTECTED]: (Message-ID on my
original post)
3AAB2873 (hex) = 984295539 (dec) = 11 March 2001, 7:25:39 (GMT)
879C0AF (hex) = 142196911 (dec) = just a 32bit random number with a
leading 0
(0000-1000-0111-1001-1100-0000-1010-1111)
If anyone was looking at the code and did not get a chance to reply to
my question before I posted this message, please review this code and
tell me if I have found what I am looking for.
Thanks,
James :-)