'Get the mailbox for an authenticated user.
The mailbox for the authenticated user will be returned only if the
given interfaces include L{IMailbox <pop3.IMailbox>}.  Requests for
anonymous access will be met with a mailbox containing a message
indicating that an internal error has occurred.
@type avatarId: L{bytes} or C{twisted.cred.checkers.ANONYMOUS}
@param avatarId: A string which identifies a user or an object which
signals a request for anonymous access.
@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 (0) L{IMailbox <pop3.IMailbox>},
(1) L{IMailbox <pop3.IMailbox>} provider, (2) no-argument
callable
@return: A tuple of the supported interface, a mailbox, and a
logout function.
@raise NotImplementedError: When the given interfaces do not include
L{IMailbox <pop3.IMailbox>}.'

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

    if (pop3.IMailbox not in interfaces):
        raise NotImplementedError('No    interface')
    if (avatarId == checkers.ANONYMOUS):
        mbox = StringListMailbox([INTERNAL_ERROR])
    else:
        mbox = MaildirMailbox(os.path.join(self.root, avatarId))
    return (pop3.IMailbox, mbox, (lambda : None))
