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;
// 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();