From b1e6307684e612ff245cef7f29f866bf530d6727 Mon Sep 17 00:00:00 2001 From: adam Date: Mon, 15 Jan 2007 08:13:58 +0000 Subject: [PATCH] allow seeding of Message-ID generator darcs-hash:20070115081358-5007d-d2b4ce63ce824391e71b22c7460edf90cb42f9d0.gz --- src/org/ibex/mail/Message.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/org/ibex/mail/Message.java b/src/org/ibex/mail/Message.java index b4db07e..c3d3ad2 100644 --- a/src/org/ibex/mail/Message.java +++ b/src/org/ibex/mail/Message.java @@ -90,6 +90,7 @@ public class Message extends MIME.Part { private Message(Fountain in) throws Malformed { super(in); + this.envelopeTo = headers.get("Envelope-To") != null ? Address.parse(headers.get("Envelope-To")) : null; this.envelopeFrom = headers.get("Return-Path") != null ? Address.parse(headers.get("Return-Path")) : null; this.to = headers.get("To") != null ? Address.parse(headers.get("To")) : this.envelopeTo; @@ -136,12 +137,14 @@ public class Message extends MIME.Part { // http://www.jwz.org/doc/mid.html private static final Random random = new Random(); public static String generateFreshMessageId() { + return generateFreshMessageId(Base36.encode(System.currentTimeMillis())+'.'+ + Base36.encode(random.nextLong())); + } + public static String generateFreshMessageId(String seed) { StringBuffer ret = new StringBuffer(); ret.append('<'); - ret.append(Base36.encode(System.currentTimeMillis())); - ret.append('.'); - ret.append(Base36.encode(random.nextLong())); - ret.append('.'); + ret.append(seed); + ret.append('@'); try { ret.append(InetAddress.getLocalHost().getHostName()); } catch (UnknownHostException e) { /* DELIBERATE */ } ret.append('>'); return ret.toString(); -- 1.7.10.4