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";
20 new IMAPThread().start();
21 new SMTPThread().start();
25 private static class BogusAuthenticator implements IMAP.Server.Authenticator {
27 FileBasedMailbox.getFileBasedMailbox(Mailbox.STORAGE_ROOT, true).slash("user", true).slash("megacz", true);
28 public Mailbox authenticate(String u, String p) {
29 if (u.equals("megacz") && p.equals("pass")) return root;
34 private static class IMAPThread extends Thread {
35 final int port = Integer.parseInt(System.getProperty("ibex.mail.imap.port", "143"));
38 Log.info(this, "binding to port " + port + "...");
39 ServerSocket ss = new ServerSocket(port);
40 Log.info(this, "listening for connections...");
42 final Socket sock = ss.accept();
46 new IMAP.Listener(sock, "megacz.com", new BogusAuthenticator()).handle();
47 } catch (Exception e) {
53 } catch (Exception e) {
59 private static class SMTPThread extends Thread {
60 final int port = Integer.parseInt(System.getProperty("ibex.mail.smtp.port", "25"));
63 Log.info(this, "binding to port " + port + "...");
64 ServerSocket ss = new ServerSocket(port);
65 Log.info(this, "listening for connections...");
67 final Socket sock = ss.accept();
68 final SMTP.Server smtp = new SMTP.Server(sock, "megacz.com");
73 } catch (Exception e) {
79 } catch (Exception e) {