/*
 * COPYRIGHT (c) 1998-1999 Jan-Henrik Haukeland, http://www.tildeslash.com/
 */


package ts.mail;

import ts.mail.MailModel;
import ts.mail.GetMailException;
import ts.biff.SafeTerminate;

/**
 * This interface represent an abstract Mail Transport Agent. A MTA is
 * used for sending mail messages. Implementors should implement the
 * sendMail method which will be the actual protocol used for sending
 * mail.
 *
 * @see SmtpAgent
 *
 * @author  Jan-Henrik Haukeland &lt;hauk@tildeslash.com&gt;
 * @version $Id: TransportAgent.java,v 1.5 1999/03/21 10:28:13 hauk Exp $ 
 */
public interface TransportAgent extends SafeTerminate
{

  // ----------------------- Abstract methods --------------------- //

  /**
   * Send the mail using a certain protocol.
   *
   * @exception SendMailException Is thrown if the mail for some reason
   *                              could not be sent
   */
  public void sendMail(MailModel aMail) throws SendMailException ;
  

  /**
   * @return The protocol used
   */
  public String getProtocol() ;

}
