Member of New SMTP Block 's Chain Of Reposiblity.

Processes SMTP protocol commands one at a time.

Follows Setter Injection pattern for receiving both configuration parameters and Phoenix Blocks it depends on.

Implementation Details

New SMTP Block introspects implementing class for each of its subordinate ProtocolLet -s and deducts its

TODO: choose a way to distinguish setters for injecting configuration values from those for injecting dependencies. Alternative approaches are:


New SMTP Block

New SMTP Block's JMX facility


Each ProtocolLet implements at least one of the following interfaces

  interface ConnectionHandler (
    RulesResponce onConnection(Socket)

  interface CommandsHandler {
    RulesResponce Map getCommands()

  interface CommandHandler {
    RulesResponce onCommand(...)

  interface MessageHandler {
    RulesResponce onMessage(...)

  RulesResponse {
    boolean getSuccess();
    SMTPResponseCode getSMTPResponseCode();
    DSNResponseCode getDSNResponseCode();
    String getMessage();
    boolean isResponseMultiline();

(Compiled from FastFail and "07 Jun 2005 message on server-dev”)

SummerOfCode2005/SergeyLubinskiyFastFail/ProtocolLet (last edited 2009-09-20 22:58:47 by localhost)