// Path: src/main/java/de/gessnerfl/fakesmtp/server/SmtpServer.java
// public interface SmtpServer {
//     void start();
//     void stop();
// }
// 
// Path: src/main/java/de/gessnerfl/fakesmtp/server/SmtpServerFactory.java
// public interface SmtpServerFactory {
//     SmtpServer create();
// }


import de.gessnerfl.fakesmtp.server.SmtpServer;
import de.gessnerfl.fakesmtp.server.SmtpServerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Service;
import org.subethamail.smtp.helper.SimpleMessageListenerAdapter;
import org.subethamail.smtp.server.SMTPServer;
package de.gessnerfl.fakesmtp.server.impl;


@Profile("default")
@Service
public class SmtpServerFactoryImpl implements SmtpServerFactory {

    private final MessageListener messageListener;
    private final SmtpServerConfigurator configurator;

    @Autowired
    public SmtpServerFactoryImpl(MessageListener messageListener, SmtpServerConfigurator configurator) {
        this.messageListener = messageListener;
        this.configurator = configurator;
    }

    @Override
// Path: src/main/java/de/gessnerfl/fakesmtp/server/SmtpServer.java
// public interface SmtpServer {
//     void start();
//     void stop();
// }
// 
// Path: src/main/java/de/gessnerfl/fakesmtp/server/SmtpServerFactory.java
// public interface SmtpServerFactory {
//     SmtpServer create();
// }


// Path: src/main/java/de/gessnerfl/fakesmtp/server/impl/SmtpServerFactoryImpl.java
import de.gessnerfl.fakesmtp.server.SmtpServer;
import de.gessnerfl.fakesmtp.server.SmtpServerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Service;
import org.subethamail.smtp.helper.SimpleMessageListenerAdapter;
import org.subethamail.smtp.server.SMTPServer;

package de.gessnerfl.fakesmtp.server.impl;


@Profile("default")
@Service
public class SmtpServerFactoryImpl implements SmtpServerFactory {

    private final MessageListener messageListener;
    private final SmtpServerConfigurator configurator;

    @Autowired
    public SmtpServerFactoryImpl(MessageListener messageListener, SmtpServerConfigurator configurator) {
        this.messageListener = messageListener;
        this.configurator = configurator;
    }

    @Override
    public SmtpServer create() {