/** * A convenience constructor that splits the smtp data among multiple listeners * (and multiple recipients). */ public SMTPServer(Collection<MessageListener> listeners) { this(new MessageListenerAdapter(listeners)); }
/** * Create a new SMTP server with this class as the listener. * The default port is set to 25. Call setPort()/setHostname() before * calling start(). */ public Wiser() { Collection<MessageListener> listeners = new ArrayList<MessageListener>(1); listeners.add(this); this.server = new SMTPServer(listeners); this.server.setPort(25); ((MessageListenerAdapter)server.getMessageHandlerFactory()) .setAuthenticationHandlerFactory(new AuthHandlerFactory()); }
/** * Holds the SMTPAuthenticationHandler instantiation logic. * @return */ private AuthenticationHandler getAuthenticationHandler() { if( this.authHandler != null ) { return this.authHandler; } if( getAuthenticationHandlerFactory() != null ) { // The user has plugged in a factory. let's use it. this.authHandler = getAuthenticationHandlerFactory().create(); } else { // A placeholder. this.authHandler = new DummyAuthenticatioHandler(); } // Rerurn the variable, which can be null return this.authHandler; }
@Override protected void initSmtpReceiver() { super.initSmtpReceiver(); MessageListenerAdapter mla = (MessageListenerAdapter) smtpReceivingServer.getMessageHandlerFactory(); mla.setAuthenticationHandlerFactory(new AuthHandlerFactory()); }
protected void initSmtpReceiver() { Collection<MessageListener> listeners = new ArrayList<MessageListener>(1); listeners.add(this); if( enableTls ) { log.info("Creating TLS enabled server"); this.smtpReceivingServer = new SMTPServer(listeners); } else { log.info("Creating TLS DIS-abled server"); this.smtpReceivingServer = new TlsDisabledSmtpServer(listeners); } this.smtpReceivingServer.setPort(smtpPort); this.smtpReceivingServer.setMaxConnections(30000); CommandHandler cmdHandler = this.smtpReceivingServer.getCommandHandler(); MessageListenerAdapter mla = (MessageListenerAdapter) smtpReceivingServer.getMessageHandlerFactory(); mla.setAuthenticationHandlerFactory(null); }