You can send e-mail to an EmailListener by calling sendEmailEvent() on the listener, passing it a EmailEvent containing the e-mail you want to send. Typically, a service will broadcast an EmailEvent to all of its attached EmailListener objects. For example, the following code defines a service to be a source of Email events and shows how to broadcast an EmailEvent to the listeners of that event:
Vector emailListeners = new Vector ();
public void addEmailListener (EmailListener listener) {
emailListeners.addElement (listener);
}
public void removeEmailListener (EmailListener listener) {
emailListeners.removeElement (listener);
}
public EmailListener [] getEmailListeners () {
EmailListener [] ret = new EmailListener [emailListeners.size ()];
emailListeners.copyInto (ret);
return ret;
}
public void broadcastEmailEvent (EmailEvent event) {
for (int i = 0; i < emailListeners.size (); i++) {
try {
((EmailListener) (emailListeners.elementAt (i))).sendEmailEvent (event);
}
catch (EmailException exc) {}
}
}The properties file configuring your service can then hook up the listeners of the e-mail events like this:
emailListeners=/atg/dynamo/service/SMTPEmail
So now when you call broadcastEmailEvent, your e-mail will be sent through the /atg/dynamo/service/SMTPEmail component, which will send your e-mail.

