This method dispatches a SMTP command to the appropriate handler
        method. It is called after a new command was received and a valid
        transition was found.

def _dispatch_commands(self, from_state, to_state, smtp_command):
        """This method dispatches a SMTP command to the appropriate handler
        method. It is called after a new command was received and a valid
        transition was found."""
        #print from_state, ' -> ', to_state, ':', smtp_command
        name_handler_method = 'smtp_%s' % smtp_command.lower().replace(' ', '_')
        try:
            handler_method = getattr(self, name_handler_method)
        except AttributeError:
            # base_msg = 'No handler for %s though transition is defined (no method %s)'
            # print base_msg % (smtp_command, name_handler_method)
            self.reply(451, 'Temporary Local Problem: Please come back later')
        else:
            # Don't catch InvalidDataError here - else the state would be moved
            # forward. Instead the handle_input will catch it and send out the
            # appropriate reply.
            handler_method()