<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 async def quit(self):
 """ Sends a SMTP 'QUIT' command. - Ends the session. For further details, please check out `RFC 5321 § 4.1.1.10`_. Returns: (int, str):
 A (code, message) 2-tuple containing the server response. If the connection is already closed when calling this method, returns (-1, None). .. _`RFC 5321 § 4.1.1.10`: https://tools.ietf.org/html/rfc5321#section-4.1.1.10 """

        code = -1
        message = None

        try:
            code, message = await self.do_cmd("QUIT")
        except ConnectionError:
            # We voluntarily ignore this kind of exceptions since... the
            # connection seems already closed.
            pass
        except SMTPCommandFailedError:
            pass

        await self.close()

        return code, message