<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 rcpt( self, recipient: str, options: Iterable[str] = None, timeout: DefaultNumType = _default, ) -> SMTPResponse: """ Send an SMTP RCPT command, which specifies a single recipient for the message. This command is sent once per recipient and must be preceded by 'MAIL'. :raises SMTPRecipientRefused: on unexpected server response code """

        await self._ehlo_or_helo_if_needed()

        if options is None:
            options = []

        options_bytes = [option.encode("ascii") for option in options]
        to = b"TO:" + quote_address(recipient).encode("ascii")

        async with self._command_lock:
            response = await self.execute_command(
                b"RCPT", to, *options_bytes, timeout=timeout
            )

        success_codes = (SMTPStatus.completed, SMTPStatus.will_forward)
        if response.code not in success_codes:
            raise SMTPRecipientRefused(response.code, response.message, recipient)

        return response