Process a message.

def process(self, message, user):
        """
        Process a message.
        """
        if not self._socket:
            self.connect()
            self.lhlo()
        else:
            self.rset()

        if not self.dlmtp:
            raise DspamClientError('DLMTP mode not available')

        self.mailfrom(client_args='--process --deliver=summary')
        self.rcptto((user,))
        self.data(message)

        # check for valid result format
        if 'class' not in self.results[user]:
            raise DspamClientError(
                'Unexpected response format from server at END-OF-DATA, '
                'an error occured')

        return self.results[user]