Interface JilterHandler

  • All Known Implementing Classes:
    JilterHandlerAdapter

    public interface JilterHandler
    The main handler interface for writing a Java-based milter (Jilter).
    • Method Detail

      • connect

        JilterStatus connect​(java.lang.String hostname,
                             java.net.InetAddress hostaddr,
                             java.util.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​(java.lang.String helohost,
                          java.util.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​(java.lang.String[] argv,
                             java.util.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​(java.lang.String[] argv,
                             java.util.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​(java.lang.String headerf,
                            java.lang.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​(java.nio.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,
                         java.util.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.