'Perform authentication for a username/password login.
@type user: L{bytes}
@param user: The name of the user attempting to log in.
@type password: L{bytes}
@param password: The password to authenticate with.
@rtype: L{Deferred <defer.Deferred>} which successfully results in
3-L{tuple} of (E{1}) L{IMailbox <pop3.IMailbox>}, (E{2}) L{IMailbox
<pop3.IMailbox>} provider, (E{3}) no-argument callable
@return: A deferred which fires when authentication is complete.  If
successful, it returns a L{pop3.IMailbox} interface, a mailbox,
and a function to be invoked with the session is terminated.
If authentication fails, the deferred fails with an
L{UnathorizedLogin <cred.error.UnauthorizedLogin>} error.
@raise cred.error.UnauthorizedLogin: When authentication fails.'

def authenticateUserPASS(self, user, password):

    if (self.portal is not None):
        return self.portal.login(cred.credentials.UsernamePassword(user, password), None, IMailbox)
    raise cred.error.UnauthorizedLogin()
