© 2002 BEA Systems, Inc.


com.bea.p13n.mail
Interface MailService


public interface MailService
extends javax.ejb.EJBObject

Remote interface to the MailService stateless session bean. This bean provides basic mail-sending capabilities for sending text email messages.

The smtp server can be specified in the bean's deployment descriptor, or in the application's MailServiceMBean.


Method Summary
 void addToBatch(MailMessage message, java.lang.String batch)
          Add a MailMessage to a batch so that it can be sent later.
 void deleteBatch(java.lang.String batch)
          Delete a batch and all of its messages
 java.util.ArrayList getBatchNames()
          Return all batch names in the system
 int getBatchSize(java.lang.String batch)
          Return the size of a batch.
 ServletResults getJSPResults(java.lang.String url, java.util.Map params)
          Similar to getTextFromJSP; but will retrieve contents of the jsp page as a byte array to cut down on string encoding hassles.
 java.util.ArrayList getMessagesInBatch(java.lang.String batchName, boolean getText)
          Retrieve all messages in a batch.
 java.lang.String getTextFromJSP(java.lang.String url, java.util.Map params)
          Generate text from a JSP page for use in an email message.
 void sendBatch(java.lang.String batch, boolean delete)
          Send all the messages in a batch, optionally deleting the batch when finished.
 void sendMail(MailMessage message)
          Send an email message immediately.
 void sendMail(java.lang.String to, java.lang.String from, java.lang.String subject, java.lang.String text)
          The simplest way to send a mail message; supply the basic information and the message will be sent immediately.
 
Methods inherited from interface javax.ejb.EJBObject
getEJBHome, getHandle, getPrimaryKey, isIdentical, remove
 

Method Detail

sendMail

public void sendMail(java.lang.String to,
                     java.lang.String from,
                     java.lang.String subject,
                     java.lang.String text)
              throws java.rmi.RemoteException,
                     java.lang.IllegalArgumentException,
                     MailServiceException
The simplest way to send a mail message; supply the basic information and the message will be sent immediately.

Parameters:
to - The address to mail to
from - The "from" address
subject - The message's subject. Can be null.
text - The message's text. Can be null.
Throws:
java.lang.IllegalArgumentException - If the "to" address is null or invalid

sendMail

public void sendMail(MailMessage message)
              throws java.rmi.RemoteException,
                     java.lang.IllegalArgumentException,
                     MailServiceException
Send an email message immediately. A valid MailMessage is required; i.e., there must be at least one recipient.

Parameters:
message - A MailMessage to send.
Throws:
java.lang.IllegalArgumentException - if the MailMessage is not valid

addToBatch

public void addToBatch(MailMessage message,
                       java.lang.String batch)
                throws java.rmi.RemoteException,
                       java.lang.IllegalArgumentException,
                       MailServiceException
Add a MailMessage to a batch so that it can be sent later. If the specified batch does not exist, it will be created.

Parameters:
message - A MailMessage to batch
batch - the name of the batch to add it to
Throws:
java.lang.IllegalArgumentException - if the MailMessage is not valid

sendBatch

public void sendBatch(java.lang.String batch,
                      boolean delete)
               throws java.rmi.RemoteException,
                      MailServiceException
Send all the messages in a batch, optionally deleting the batch when finished.

Parameters:
batch - the name of the batch to send
delete - if true, will delete the batch after sending it

deleteBatch

public void deleteBatch(java.lang.String batch)
                 throws java.rmi.RemoteException,
                        MailServiceException
Delete a batch and all of its messages

Parameters:
batch - the name of the batch to delete

getMessagesInBatch

public java.util.ArrayList getMessagesInBatch(java.lang.String batchName,
                                              boolean getText)
                                       throws java.rmi.RemoteException,
                                              MailServiceException
Retrieve all messages in a batch. If the getText flag is false, all message information will be retrieved except for the message text. This option is provided to avoid memory/bandwidth problems for batches that may contain large mail messages.

Parameters:
batch - the name of the batch to examine
getText - flag to retrieve message text
Returns:
an ArrayList of MailMessage objects

getBatchSize

public int getBatchSize(java.lang.String batch)
                 throws java.rmi.RemoteException,
                        MailServiceException
Return the size of a batch.

Parameters:
batch - the name of the batch to examine
Returns:
the number of messages in the batch

getBatchNames

public java.util.ArrayList getBatchNames()
                                  throws java.rmi.RemoteException,
                                         MailServiceException
Return all batch names in the system

Returns:
an ArrayList of batch names

getTextFromJSP

public java.lang.String getTextFromJSP(java.lang.String url,
                                       java.util.Map params)
                                throws java.rmi.RemoteException,
                                       java.io.IOException
Generate text from a JSP page for use in an email message. Any parameters will be passed as HTTP POST parameters. If the URL is relative, it will be assumed it is an HTTP request to the local server, at the local server's port.

Parameters:
url - the URL of the jsp page.
params - a map of parameters to pass to the JSP
Returns:
the generated text

getJSPResults

public ServletResults getJSPResults(java.lang.String url,
                                    java.util.Map params)
                             throws java.rmi.RemoteException,
                                    java.io.IOException
Similar to getTextFromJSP; but will retrieve contents of the jsp page as a byte array to cut down on string encoding hassles. The ServletResults object also includes the content-type directive of the JSP page, if any is given.


© 2002 BEA Systems, Inc.

Copyright © 2002 BEA Systems, Inc. All Rights Reserved