2 import org.ibex.mail.target.*;
3 import org.ibex.mail.protocol.*;
4 import org.ibex.util.*;
11 public static void main(String[] s) throws Exception {
14 String logto = System.getProperty("ibex.mail.root", File.separatorChar + "var" + File.separatorChar + "org.ibex.mail");
15 logto += File.separatorChar + "log";
18 new IMAPThread().start();
19 new SMTPThread().start();
23 private static class BogusAuthenticator implements IMAP.Server.Authenticator {
24 final Mailbox root = FileBasedMailbox.getFileBasedMailbox(Mailbox.STORAGE_ROOT, true);
25 public Mailbox authenticate(String u, String p) {
26 if (u.equals("megacz") && p.equals("pass")) return root;
31 private static class IMAPThread extends Thread {
32 final int port = Integer.parseInt(System.getProperty("ibex.mail.imap.port", "143"));
35 Log.info(this, "binding to port " + port + "...");
36 ServerSocket ss = new ServerSocket(port);
37 Log.info(this, "listening for connections...");
39 final Socket sock = ss.accept();
43 new IMAP.Listener(sock, "megacz.com", new BogusAuthenticator()).handle();
44 } catch (Exception e) {
50 } catch (Exception e) {
56 private static class SMTPThread extends Thread {
57 final int port = Integer.parseInt(System.getProperty("ibex.mail.smtp.port", "25"));
60 Log.info(this, "binding to port " + port + "...");
61 ServerSocket ss = new ServerSocket(port);
62 Log.info(this, "listening for connections...");
64 final Socket sock = ss.accept();
65 final SMTP.Server smtp = new SMTP.Server(sock, "megacz.com");
70 } catch (Exception e) {
76 } catch (Exception e) {