'Return a message delivery for an authenticated SMTP user.
@type avatarId: L{bytes}
@param avatarId: A string which identifies an authenticated user.
@type mind: L{None}
@param mind: Unused.
@type interfaces: n-L{tuple} of C{zope.interface.Interface}
@param interfaces: A group of interfaces one of which the avatar must
support.
@rtype: 3-L{tuple} of (E{1}) L{IMessageDelivery},
(E{2}) L{ESMTPDomainDelivery}, (E{3}) no-argument callable
@return: A tuple of the supported interface, a message delivery, and
a logout function.
@raise NotImplementedError: When the given interfaces do not include
L{IMessageDelivery}.'

def requestAvatar(self, avatarId, mind, *interfaces):

    if (smtp.IMessageDelivery in interfaces):
        a = protocols.ESMTPDomainDelivery(self, avatarId)
        return (smtp.IMessageDelivery, a, (lambda : None))
    raise NotImplementedError()
