com.sendmail.jilter
Interface JilterHandler

All Known Implementing Classes:
JilterHandlerAdapter

public interface JilterHandler

The main handler interface for writing a Java-based milter (Jilter).


Field Summary
static int PROCESS_BODY
          Flag for getSupportedProcesses to indicate that body is supported.
static int PROCESS_CONNECT
          Flag for getSupportedProcesses to indicate that connect is supported.
static int PROCESS_ENVFROM
          Flag for getSupportedProcesses to indicate that envfrom is supported.
static int PROCESS_ENVRCPT
          Flag for getSupportedProcesses to indicate that envrcpt(java.lang.String[], java.util.Properties) is supported.
static int PROCESS_HEADER
          Flag for getSupportedProcesses to indicate that header is supported.
static int PROCESS_HELO
          Flag for getSupportedProcesses to indicate that helo is supported.
static int SMFIF_ADDHDRS
          Flag for getRequiredModifications to indicate that headers may be added.
static int SMFIF_ADDRCPT
          Flag for getRequiredModifications to indicate that recipients may be added.
static int SMFIF_CHGBODY
          Flag for getRequiredModifications to indicate that the body may be changed.
static int SMFIF_CHGHDRS
          Flag for getRequiredModifications to indicate that headers may be changed or deleted.
static int SMFIF_DELRCPT
          Flag for getRequiredModifications to indicate that recipients may be deleted.
static int SMFIF_MODBODY
          Flag for getRequiredModifications to indicate that headers may be added.
static int SMFIF_NONE
          Flag for getRequiredModifications to indicate that no modifications will be made.
 
Method Summary
 JilterStatus abort()
          Handle the current message being aborted.
 JilterStatus body(ByteBuffer bodyp)
          Handle a piece of a message's body.
 JilterStatus close()
          The current connection is being closed.
 JilterStatus connect(String hostname, InetAddress hostaddr, Properties properties)
          Called once at the start of each SMTP connection.
 JilterStatus envfrom(String[] argv, Properties properties)
          Handle the envelope FROM command.
 JilterStatus envrcpt(String[] argv, Properties properties)
          Handle the envelope RCPT command.
 JilterStatus eoh()
          Handle the end of message headers.
 JilterStatus eom(JilterEOMActions eomActions, Properties properties)
          End of a message.
 int getRequiredModifications()
          Get the list of required modifications needed by this handler.
 int getSupportedProcesses()
          Get the list of callbacks implemented by this handler.
 JilterStatus header(String headerf, String headerv)
          Handle a message header.
 JilterStatus helo(String helohost, Properties properties)
          Handle the HELO/EHLO command.
 

Field Detail

PROCESS_CONNECT

static final int PROCESS_CONNECT
Flag for getSupportedProcesses to indicate that connect is supported.

See Also:
Constant Field Values

PROCESS_HELO

static final int PROCESS_HELO
Flag for getSupportedProcesses to indicate that helo is supported.

See Also:
Constant Field Values

PROCESS_ENVFROM

static final int PROCESS_ENVFROM
Flag for getSupportedProcesses to indicate that envfrom is supported.

See Also:
Constant Field Values

PROCESS_ENVRCPT

static final int PROCESS_ENVRCPT
Flag for getSupportedProcesses to indicate that envrcpt(java.lang.String[], java.util.Properties) is supported.

See Also:
Constant Field Values

PROCESS_HEADER

static final int PROCESS_HEADER
Flag for getSupportedProcesses to indicate that header is supported.

See Also:
Constant Field Values

PROCESS_BODY

static final int PROCESS_BODY
Flag for getSupportedProcesses to indicate that body is supported.

See Also:
Constant Field Values

SMFIF_NONE

static final int SMFIF_NONE
Flag for getRequiredModifications to indicate that no modifications will be made.

See Also:
Constant Field Values

SMFIF_ADDHDRS

static final int SMFIF_ADDHDRS
Flag for getRequiredModifications to indicate that headers may be added.

See Also:
Constant Field Values

SMFIF_CHGBODY

static final int SMFIF_CHGBODY
Flag for getRequiredModifications to indicate that the body may be changed.

See Also:
Constant Field Values

SMFIF_MODBODY

static final int SMFIF_MODBODY
Flag for getRequiredModifications to indicate that headers may be added.

See Also:
Constant Field Values

SMFIF_ADDRCPT

static final int SMFIF_ADDRCPT
Flag for getRequiredModifications to indicate that recipients may be added.

See Also:
Constant Field Values

SMFIF_DELRCPT

static final int SMFIF_DELRCPT
Flag for getRequiredModifications to indicate that recipients may be deleted.

See Also:
Constant Field Values

SMFIF_CHGHDRS

static final int SMFIF_CHGHDRS
Flag for getRequiredModifications to indicate that headers may be changed or deleted.

See Also:
Constant Field Values
Method Detail

connect

JilterStatus connect(String hostname,
                     InetAddress hostaddr,
                     Properties properties)
Called once at the start of each SMTP connection.

Parameters:
hostname - The host name of the message sender, as determined by a reverse lookup on the host address.
hostaddr - The host address, as determined by a getpeername() call on the SMTP socket.
properties - Any properties (macros) received from the MTA.
Returns:
SMFIS_ return codes from JilterStatus. NOTE: The MTA will currently ignore any custom values (values other than SMFIS_ values). Specifically, values created with JilterStatus.makeCustomStatus will not be honored.

helo

JilterStatus helo(String helohost,
                  Properties properties)
Handle the HELO/EHLO command. Called whenever the client sends a HELO/EHLO command. It may therefore be called between zero and three times.

Parameters:
helohost - Value passed to HELO/EHLO command, which should be the domain name of the sending host (but is, in practice, anything the sending host wants to send).
properties - Any properties (macros) received from the MTA.
Returns:
SMFIS_ return codes from JilterStatus.

envfrom

JilterStatus envfrom(String[] argv,
                     Properties properties)
Handle the envelope FROM command. Called once at the beginning of each message, before envrcpt.

Parameters:
argv - An array of SMTP command arguments. argv[0] is guaranteed to be the sender address. Later arguments are the ESMTP arguments.
properties - Any properties (macros) received from the MTA.
Returns:
SMFIS_ return codes from JilterStatus.

envrcpt

JilterStatus envrcpt(String[] argv,
                     Properties properties)
Handle the envelope RCPT command. Called once per recipient, hence one or more times per message, immediately after envfrom.

Parameters:
argv - An array of SMTP command arguments. argv[0] is guaranteed to be the recipient address. Later arguments are the ESMTP arguments.
properties - Any properties (macros) received from the MTA.
Returns:
SMFIS_ return codes from JilterStatus.

header

JilterStatus header(String headerf,
                    String headerv)
Handle a message header. Called zero or more times between envrcpt and eoh, once per message header.

Parameters:
headerf - Header field name.
headerv - Header field value. The content of the header may include folded white space (i.e. multiple lines with following white space). The trailing line terminator (CR/LF) is removed.
Returns:
SMFIS_ return codes from JilterStatus.

eoh

JilterStatus eoh()
Handle the end of message headers. Called once after all headers have been sent and processed.

Returns:
SMFIS_ return codes from JilterStatus.

body

JilterStatus body(ByteBuffer bodyp)
Handle a piece of a message's body. Called zero or more times between eoh and eom.

Parameters:
bodyp - This block of body data.
Returns:
SMFIS_ return codes from JilterStatus.

eom

JilterStatus eom(JilterEOMActions eomActions,
                 Properties properties)
End of a message. Called once after all calls to body for a given message.

Parameters:
eomActions - Interface for effecting message changes.
properties - Any properties (macros) received from the MTA.
Returns:
SMFIS_ return codes from JilterStatus.

abort

JilterStatus abort()
Handle the current message being aborted. Called at any time during message processing (i.e. between some message-oriented routine and eom).

Returns:
SMFIS_ return codes from JilterStatus.

close

JilterStatus close()
The current connection is being closed. Always called at the end of each connection.

Returns:
SMFIS_ return codes from JilterStatus.

getSupportedProcesses

int getSupportedProcesses()
Get the list of callbacks implemented by this handler.

Returns:
a combination of values from the PROCESS_ constants.

getRequiredModifications

int getRequiredModifications()
Get the list of required modifications needed by this handler.

Returns:
a combination of values from the SMFIF_ constants.


Copyright © 2004-2006 Sendmail, Inc.. All Rights Reserved.