/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.core.mail; import de.rcenvironment.core.configuration.ConfigurationException; /** * Provides methods for querying and editing the SMTP server configuration. Currently used by the text mode configuration UI. * * Note that these operations NOT yet safe for concurrent operation (e.g. for calling from the standard UI)! * * @author Tobias Rodehutskors */ public interface SMTPServerConfigurationService { /** * Stores the given parameters as the SMTP server configuration in the configuration file. Existing values will be overwritten. * * @param host The host name of the SMTP server. * @param port The port of the SMTP server. * @param encryption The encryption used to connect to the server. Has to be either 'implicit' or 'explicit'. * @param username The user name for authentication. * @param password The password for authentication. * @param sender The sender of all mails. * @throws ConfigurationException Thrown if the configuration resulting from the given values is invalid. */ void configureSMTPServer(String host, int port, String encryption, String username, String password, String sender) throws ConfigurationException; /** * @return Returns a MailConfiguration object representing the currently stored SMTP mail server configuration (even if it is invalid). * Returns null if the SMTP server configuration is not present. */ SMTPServerConfiguration getSMTPServerConfiguration(); }