/* * * Copyright 2013 Entando S.r.l. (http://www.entando.com) All rights reserved. * * This file is part of Entando Enterprise Edition software. * You can redistribute it and/or modify it * under the terms of the Entando's EULA * * See the file License for the specific language governing permissions * and limitations under the License * * * * Copyright 2013 Entando S.r.l. (http://www.entando.com) All rights reserved. * */ package com.agiletec.plugins.jpwebmail.aps.system.services.webmail; import javax.mail.Store; import javax.mail.internet.MimeMessage; import com.agiletec.aps.system.exception.ApsSystemException; /** * Interfaccia dei servizi gestore della WebMail. * @version 1.0 * @author E.Santoboni */ public interface IWebMailManager { /** * Restituisce la configurazione del servizio WebMail. * @return La configurazione del servizio WebMail. * @throws ApsSystemException In caso di errore. */ public WebMailConfig loadConfig() throws ApsSystemException; /** * Aggiorna la configurazione del servizio WebMail. * @param config La configurazione del servizio WebMail. * @throws ApsSystemException In caso di errore. */ public void updateConfig(WebMailConfig config) throws ApsSystemException; /** * Inizializza la connessione e restituisce lo Store corrispondente. * @param username La username dell'utenza proprietario della casella di posta. * @param password La password dell'utenza proprietario della casella di posta. * @return Lo Store della casella di posta dell'utente. * @throws ApsSystemException In caso di errore nella connessione. */ public Store initInboxConnection(String username, String password) throws ApsSystemException; /** * Effettua la chiusura dello store. * @param store Lo store da chiudere. */ public void closeConnection(Store store); /** * Effettua la spedizione di una mail. * @param msg Il messaggio da spedire. * @throws ApsSystemException In caso di errore nella spedizione. */ public void sendMail(MimeMessage msg) throws ApsSystemException; /** * Effettua la spedizione di una mail. * @param msg Il messaggio da spedire. * @param username Lo username dell'utente mittente. * @param password La password dell'utente mittente. * @throws ApsSystemException In caso di errore nella spedizione. */ public void sendMail(MimeMessage msg, String username, String password) throws ApsSystemException; /** * Crea e restituisce un muovo messaggio vuoto. * @return Il nuovo messaggio vuoto. * @throws ApsSystemException In caso di errore. */ public MimeMessage createNewEmptyMessage() throws ApsSystemException; /** * Restituisce il nome completo (comprensivo delle sottocartelle) della cartella * con le funzioni da cestino. * @return Il nome completo (comprensivo delle sottocartelle) * della cartella con le funzioni da cestino. */ public String getTrashFolderName(); /** * Restituisce il nome completo (comprensivo delle sottocartelle) della cartella * nella quale devono essere salvati i messaggi inviati. * @return Il nome completo della cartella * nella quale devono essere salvati i messaggi inviati. */ public String getSentFolderName(); /** * Restituisce il nome del dominio gestito dalla webmail. * Il metodo viene utilizzato per costruire l'indirizzo e-mail dell'utente corrente, dato dalla concatenazione * del campo username e del nome dominio; l'operazione viene effettuata CurrentUserHelper di default del sistema. * @return Il nome del dominio. */ public String getDomainName(); public static final String CONTENTTYPE_TEXT_PLAIN = "text/plain"; public static final String CONTENTTYPE_TEXT_HTML = "text/html"; }