package org.ibex.mail;
import java.lang.reflect.*;
-//import org.prevayler.*;
import org.ibex.crypto.*;
import org.ibex.util.*;
import org.ibex.mail.protocol.*;
public long expiration;
public abstract String getDescription();
public abstract String getURL(String tail);
- public int serial;
+ public int serial;
private static HashMap<Integer,Confirmation> all = new HashMap<Integer,Confirmation>();
}
public void signAndSend(Address sender, long secret, Date now) throws IOException, Message.Malformed {
- SMTP.Outgoing.enqueue(Message.newMessage(new Fountain.StringFountain("From: " + sender + "\r\n" +
- "To: " + who.toString(true) + "\r\n" +
- "Subject: confirm " + getDescription() + "\r\n" +
- "Message-Id: "+Message.generateFreshMessageId()+"\r\n" +
- "\r\n" +
- "Please click the link below to " + getDescription() + "\r\n" +
- getURL(sign(secret))),
- sender,
- who
- )
- );
+
+ Headers h = new Headers(new String[] {
+ "From", sender.toString(true),
+ "To", who.toString(true),
+ "Message-Id", Message.generateFreshMessageId(),
+ "Date", new Date()+"" /*FIXME!!!*/,
+ "Subject", "confirm " + getDescription()
+ });
+
+ Fountain fountain = Fountain.Util.create("Please click the link below to " +
+ getDescription() + "\r\n" +
+ getURL(sign(secret)));
+ Message m = Message.newMessageFromHeadersAndBody(h, fountain, sender, who);
+ SMTP.Outgoing.enqueue(m);
}
public String sign(long secret) throws IOException {