code: async def _auth_login(self, username, password):
          
          mechanism = "LOGIN"
  
          code, message = await self.do_cmd(
              "AUTH", mechanism, SMTP.b64enc(username), success=(334,)
          )
  
          try:
              code, message = await self.do_cmd(SMTP.b64enc(password), success=(235, 503))
          except SMTPCommandFailedError as e:
              raise SMTPAuthenticationError(e.code, e.message, mechanism)
  
          return code, message
docs: Performs an authentication attempt using the LOGIN mechanism.
  
          Protocol:
  
              1. The username is base64-encoded ;
              2. The string 'AUTH LOGIN' and a space character are prepended to
                 the base64-encoded username and sent to the server ;
              3. If the server replies with a 334 return code, we can go on:
  
                  1) The password is base64-encoded and sent to the server ;
                  2) If the server replies with a 235 return code, the user is
                     authenticated.
  
          Args:
              username (str): Identifier of the user trying to authenticate.
              password (str): Password for the user.
  
          Raises:
              ConnectionResetError: If the connection with the server is
                  unexpectedely lost.
              SMTPAuthenticationError: If the authentication attempt fails.
  
          Returns:
              (int, str): A (code, message) 2-tuple containing the server
                  response.