001: /*
002: * Copyright (c) 1999-2001 Lutris Technologies, Inc. All Rights
003: * Reserved.
004: *
005: * This source code file is distributed by Lutris Technologies, Inc. for
006: * use only by licensed users of product(s) that include this source
007: * file. Use of this source file or the software that uses it is covered
008: * by the terms and conditions of the Lutris Enhydra Development License
009: * Agreement included with this product.
010: *
011: * This Software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
012: * ANY KIND, either express or implied. See the License for the specific terms
013: * governing rights and limitations under the License.
014: *
015: * Contributor(s):
016: *
017: * $Id: EmailManagerImpl.java,v 1.1 2006-09-11 12:27:25 sinisa Exp $
018: */
019:
020: package com.lutris.airsent.business.email;
021:
022: import com.lutris.util.Config;
023: import com.lutris.util.KeywordValueTable;
024: import com.lutris.airsent.business.AirSentBusinessException;
025: import com.lutris.airsent.spec.email.EmailManager;
026:
027: /**
028: * Class declaration
029: *
030: *
031: * @author joseph shoop
032: * @version %I%, %G%
033: */
034: public class EmailManagerImpl implements EmailManager {
035: protected final static String EMAIL_ACTIVE = "Active";
036: protected final static String EMAIL_KEY = "Email";
037: protected final static String MAIL_SERVER_NAME = "MailServer";
038: protected final static String FROM_EMAIL_NAME = "AdminEmailName";
039: protected final static String FROM_EMAIL_ADDRESS = "AdminEmailAddress";
040: protected String mailServer = null;
041: protected String fromName = null;
042: protected String fromAddress = null;
043: protected boolean active = false;
044:
045: /**
046: * Plain Constructor
047: *
048: *
049: */
050: public EmailManagerImpl() {
051: }
052:
053: /**
054: * Constructor using the Config object to set config variables.
055: *
056: *
057: * @param config
058: *
059: *
060: */
061: public EmailManagerImpl(Config config)
062: throws AirSentBusinessException {
063: try {
064:
065: // Get the email config.
066: KeywordValueTable section = config.getSection(EMAIL_KEY);
067:
068: mailServer = section.getString(MAIL_SERVER_NAME);
069: fromName = section.getString(FROM_EMAIL_NAME);
070: fromAddress = section.getString(FROM_EMAIL_ADDRESS);
071: active = Boolean.valueOf(section.getString(EMAIL_ACTIVE))
072: .booleanValue();
073: } catch (Exception ex) {
074: throw new AirSentBusinessException("Error sending mail:",
075: ex);
076: }
077: }
078:
079: /**
080: * Sends email via smtp.
081: *
082: *
083: * @param to
084: * @param toAddress
085: * @param subject
086: * @param body
087: * @param type
088: *
089: * @throws AirSentBusinessException
090: *
091: *
092: */
093: public void send(String to, String toAddress, String subject,
094: String body, String type) throws AirSentBusinessException {
095: try {
096: if (active) {
097: Email mail = new Email(mailServer);
098: mail.sendMail(fromName, fromAddress, toAddress,
099: subject, type, body);
100: } else {
101: System.out
102: .println("Email is not active. Edit airSent.conf to activate.");
103: }
104: } catch (Exception ex) {
105: throw new AirSentBusinessException("Error sending mail:",
106: ex);
107: }
108: }
109:
110: }
|