/* * RHQ Management Platform * Copyright (C) 2005-2008 Red Hat, Inc. * All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation version 2 of the License. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ package org.rhq.enterprise.server.core; import java.util.Collection; import java.util.Map; import javax.ejb.Local; /** * Local interface that allows clients to send SMTP email messages. * * @author John Mazzitelli */ @Local public interface EmailManagerLocal { /** * Send email to the addressses passed in toAddresses with the passed subject and body. Invalid emails will * be reported back. This can only catch sender errors up to the first smtp gateway. * @param toAddresses list of email addresses to send to * @param messageSubject subject of the email sent * @param messageBody body of the email to be sent * * @return list of email receivers for which initial delivery failed. */ Collection<String> sendEmail(Collection<String> toAddresses, String messageSubject, String messageBody); /** * This returns an email message based on the alert email template with its replacement tokens replaced with the * given strings. The returns Map has size 1 - the key is the subject and the value is the body of the message. * * @param resourceHierarchy ascii tree structure containing the names of resources up to the corresponding platform * @param resourceName name of the resource that triggered the alert * @param alertName name of the alert that was triggered * @param priority the priority of the alert * @param timestamp the date/time when the alert was triggered * @param conditionLogs that conditionLogs that were met that caused the alert to trigger * @param alertUrl URL to the GUI page of the alert that was triggered * * @return alert email message (key=subject, value=body) */ Map<String, String> getAlertEmailMessage(String resourceHierarchy, String resourceName, String alertName, String priority, String timestamp, String conditionLogs, String alertUrl); }