com.cometway.net
Class ESMTPSender

java.lang.Object
  extended by com.cometway.net.ESMTPSender
All Implemented Interfaces:
IMessageSender

public class ESMTPSender
extends java.lang.Object
implements IMessageSender

This class implements the ESMTP protocol for the client side. Given a socket, it will connect to a server which talks ESMTP/SMTP and send messages


Field Summary
protected  int blockSize
           
protected  boolean expert
           
static int kAuthFailed
           
static int kBadESMTP
           
static int kCommError
           
static java.lang.String kCRLF
           
static int kDefaultBlockSize
           
static java.lang.String kDefaultSMTPHostName
           
static int kDefaultSMTPPort
           
static int kError
           
static int kFailure
           
static int kInitialState
           
static int kSenderError
           
static int kSuccess
           
protected  java.lang.String myHost
           
protected  int port
           
protected  java.lang.String receiverResponse
           
protected  int receiverResponseCode
           
protected  int receiverResponseType
           
protected  boolean sentHelo
           
protected  java.lang.String SMTPHostName
           
protected  java.net.Socket SMTPSocket
           
 
Constructor Summary
ESMTPSender()
          this is somewhat of a hack to satisfy a subclasses needs XXXX
ESMTPSender(java.net.Socket sock)
           
ESMTPSender(java.lang.String SMTPHostName)
           
ESMTPSender(java.lang.String SMTPHostName, int port)
           
 
Method Summary
 boolean connect()
          Connect() opens a socket to SMTPHostName (SimpleMailServer) and instantiates in/out streams.
 boolean connect(java.net.Socket altSocket)
           
 boolean data(java.lang.String dataString)
           
 void debug(java.lang.String s)
           
 void disconnect()
           
 boolean eHello()
           
 void error(java.lang.String s)
           
 java.lang.String expand(java.lang.String listName)
           
 void finalize()
           
 boolean from(java.lang.String from)
           
 int getPort()
           
 java.lang.String getResponse()
           
 int getResponseCode()
           
 int getResponseType()
           
 java.lang.String getSMTPHostName()
          getSMTPHostName: method returns the current SMTPHostName
 boolean hello()
           
 boolean isConnected()
           
 boolean mail(java.lang.String to, java.lang.String from, java.lang.String data, java.lang.String cc)
           
 boolean noop()
           
 void print(java.lang.String s)
           
 java.lang.String qualifyResponseCode(int responseCode)
           
 boolean quit()
           
protected  boolean readLine()
          readLine: method reads one response from the SMTP receiver (a response may consist of multiple lines of text).
 boolean reset()
           
 boolean sendAuthLogin(java.lang.String username, java.lang.String password)
           
 boolean sendData(java.lang.String dataString)
           
 boolean sendEhlo()
           
 boolean sendEhlo(boolean tryHelo)
           
 java.lang.String sendExpn(java.lang.String listName)
           
 boolean sendFrom(java.lang.String from)
           
 boolean sendHelo()
           
protected  boolean sendLine(java.lang.String s)
           
 boolean sendMail(java.lang.String to, java.lang.String from, java.lang.String message, java.lang.String cc)
           
 boolean sendMessage(IMessage message)
          sendMessage is a method that sends a given IMessage
 boolean sendNoop()
           
 boolean sendQuit()
           
 boolean sendRset()
           
 boolean sendTo(java.lang.String toField)
           
 boolean sendTo(java.util.Vector toFields)
           
 java.lang.String sendVrfy(java.lang.String userName)
           
 void setDebug(boolean debug)
          setDebug: method sets the debugging flag
protected  void setDefaultSMTPHost()
           
 boolean setPort(int port)
           
 boolean setSMTPHost(java.net.InetAddress SMTPHost)
          setSMTPHost: method sets the SMTPHostName.
 boolean setSMTPHost(java.lang.String SMTPHostName)
          setSMTPHost: method sets the SMTPHostName.
 void setVerbose(boolean verbose)
          setVerbose: method sets the verbosity flag
 boolean to(java.lang.String toString)
           
 boolean to(java.util.Vector toFields)
           
 void verbosePrint(java.lang.String s)
           
 java.lang.String verify(java.lang.String userName)
           
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

kCRLF

public static final java.lang.String kCRLF
See Also:
Constant Field Values

kSuccess

public static final int kSuccess
See Also:
Constant Field Values

kFailure

public static final int kFailure
See Also:
Constant Field Values

kError

public static final int kError
See Also:
Constant Field Values

kAuthFailed

public static final int kAuthFailed
See Also:
Constant Field Values

kCommError

public static final int kCommError
See Also:
Constant Field Values

kBadESMTP

public static final int kBadESMTP
See Also:
Constant Field Values

kSenderError

public static final int kSenderError
See Also:
Constant Field Values

kInitialState

public static final int kInitialState
See Also:
Constant Field Values

kDefaultSMTPPort

public static final int kDefaultSMTPPort
See Also:
Constant Field Values

kDefaultSMTPHostName

public static final java.lang.String kDefaultSMTPHostName
See Also:
Constant Field Values

kDefaultBlockSize

public static final int kDefaultBlockSize
See Also:
Constant Field Values

blockSize

protected int blockSize

myHost

protected java.lang.String myHost

SMTPHostName

protected java.lang.String SMTPHostName

SMTPSocket

protected java.net.Socket SMTPSocket

sentHelo

protected boolean sentHelo

expert

protected boolean expert

receiverResponse

protected java.lang.String receiverResponse

receiverResponseCode

protected int receiverResponseCode

receiverResponseType

protected int receiverResponseType

port

protected int port
Constructor Detail

ESMTPSender

public ESMTPSender()
this is somewhat of a hack to satisfy a subclasses needs XXXX


ESMTPSender

public ESMTPSender(java.lang.String SMTPHostName)

ESMTPSender

public ESMTPSender(java.lang.String SMTPHostName,
                   int port)

ESMTPSender

public ESMTPSender(java.net.Socket sock)
Method Detail

setDefaultSMTPHost

protected void setDefaultSMTPHost()

getSMTPHostName

public java.lang.String getSMTPHostName()
getSMTPHostName: method returns the current SMTPHostName


setSMTPHost

public boolean setSMTPHost(java.lang.String SMTPHostName)
setSMTPHost: method sets the SMTPHostName. THIS METHOD RESETS THE SMTP CONNECTION: it is assumed that the caller of this method desires a connection to a new SMTP receiver. this version takes the hostname


setSMTPHost

public boolean setSMTPHost(java.net.InetAddress SMTPHost)
setSMTPHost: method sets the SMTPHostName. THIS METHOD RESETS THE SMTP CONNECTION: it is assumed that the caller of this method desires a connection to a new SMTP receiver. this version takes the InetAddress


setPort

public boolean setPort(int port)

getPort

public int getPort()

getResponse

public java.lang.String getResponse()

getResponseCode

public int getResponseCode()

getResponseType

public int getResponseType()

setVerbose

public void setVerbose(boolean verbose)
setVerbose: method sets the verbosity flag


setDebug

public void setDebug(boolean debug)
setDebug: method sets the debugging flag


isConnected

public boolean isConnected()

connect

public boolean connect()
Connect() opens a socket to SMTPHostName (SimpleMailServer) and instantiates in/out streams.


connect

public boolean connect(java.net.Socket altSocket)
                throws ESMTPException
Throws:
ESMTPException

disconnect

public void disconnect()

readLine

protected boolean readLine()
                    throws com.cometway.net.ESMTPSender.ESMTPReadException
readLine: method reads one response from the SMTP receiver (a response may consist of multiple lines of text).

Throws:
com.cometway.net.ESMTPSender.ESMTPReadException

sendLine

protected boolean sendLine(java.lang.String s)
                    throws com.cometway.net.ESMTPSender.ESMTPSendException
Throws:
com.cometway.net.ESMTPSender.ESMTPSendException

sendData

public boolean sendData(java.lang.String dataString)

sendEhlo

public boolean sendEhlo(boolean tryHelo)

sendEhlo

public boolean sendEhlo()

sendExpn

public java.lang.String sendExpn(java.lang.String listName)

sendFrom

public boolean sendFrom(java.lang.String from)

sendHelo

public boolean sendHelo()

sendMail

public boolean sendMail(java.lang.String to,
                        java.lang.String from,
                        java.lang.String message,
                        java.lang.String cc)
                 throws ESMTPException
Throws:
ESMTPException

sendMessage

public boolean sendMessage(IMessage message)
                    throws ESMTPException
Description copied from interface: IMessageSender
sendMessage is a method that sends a given IMessage

Specified by:
sendMessage in interface IMessageSender
Throws:
ESMTPException

sendNoop

public boolean sendNoop()

sendQuit

public boolean sendQuit()

sendAuthLogin

public boolean sendAuthLogin(java.lang.String username,
                             java.lang.String password)

sendRset

public boolean sendRset()

sendTo

public boolean sendTo(java.lang.String toField)

sendTo

public boolean sendTo(java.util.Vector toFields)

sendVrfy

public java.lang.String sendVrfy(java.lang.String userName)

data

public boolean data(java.lang.String dataString)

eHello

public boolean eHello()

expand

public java.lang.String expand(java.lang.String listName)

from

public boolean from(java.lang.String from)

hello

public boolean hello()

mail

public boolean mail(java.lang.String to,
                    java.lang.String from,
                    java.lang.String data,
                    java.lang.String cc)

noop

public boolean noop()

quit

public boolean quit()

reset

public boolean reset()

to

public boolean to(java.lang.String toString)

to

public boolean to(java.util.Vector toFields)

verify

public java.lang.String verify(java.lang.String userName)

qualifyResponseCode

public java.lang.String qualifyResponseCode(int responseCode)

finalize

public void finalize()
Overrides:
finalize in class java.lang.Object

print

public void print(java.lang.String s)

error

public void error(java.lang.String s)

debug

public void debug(java.lang.String s)

verbosePrint

public void verbosePrint(java.lang.String s)