def METHOD_NAME(
        sender_email: str,
        recipient_emails: List[str],
        subject: str,
        plaintext_body: str,
        html_body: str,
        bcc: Optional[List[str]] = None,
        reply_to: Optional[str] = None,
        recipient_variables: Optional[
            Dict[str, Dict[str, Union[str, float]]]] = None
) -> bool:
    """Prints information about sent emails to the terminal console, in order
    to model sending an email in development mode.
    Args:
        sender_email: str. The email address of the sender. This should be in
            the form 'SENDER_NAME <SENDER_EMAIL_ADDRESS>' or
            'SENDER_EMAIL_ADDRESS. Format must be utf-8.
        recipient_emails: list(str). The email addresses of the recipients.
            Format must be utf-8.
        subject: str. The subject line of the email. Format must be utf-8.
        plaintext_body: str. The plaintext body of the email. Format must
            be utf-8.
        html_body: str. The HTML body of the email. Must fit in a datastore
            entity. Format must be utf-8.
        bcc: list(str)|None. Optional argument. List of bcc emails. Format must
            be utf-8.
        reply_to: str|None. Optional argument. Reply address formatted like
            “reply+<reply_id>@<incoming_email_domain_name>
            reply_id is the unique id of the sender. Format must be utf-8.
        recipient_variables: dict|None. Optional argument. If batch sending
            requires differentiating each email based on the recipient, we
            assign a unique id to each recipient, including info relevant to
            that recipient so that we can reference it when composing the
            email like so:
                recipient_variables =
                    {"bob@example.com": {"first":"Bob", "id":1},
                     "alice@example.com": {"first":"Alice", "id":2}}
                subject = 'Hey, %recipient.first%’
            More info about this format at:
            https://documentation.mailgun.com/en/
                latest/user_manual.html#batch-sending
    Returns:
        bool. Whether the emails are "sent" successfully.
    """
    # Show the first 3 emails in the recipient list.
    recipient_email_list_str = ' '.join(
        ['%s' %
         (recipient_email,) for recipient_email in recipient_emails[:3]])
    if len(recipient_emails) > 3:
        recipient_email_list_str += (
            '... Total: %s emails.' % (str(len(recipient_emails))))
    # Show the first 3 emails in bcc email list.
    if bcc:
        bcc_email_list_str = ' '.join(
            ['%s' %
             (bcc_email,) for bcc_email in bcc[:3]])
        if len(bcc) > 3:
            bcc_email_list_str += '... Total: %s emails.' % str(len(bcc))
    msg = (
        """
        EmailService.SendMail
        From: %s
        To: %s
        Subject: %s
        Body:
            Content-type: text/plain
            Data length: %d
        Body:
            Content-type: text/html
            Data length: %d
        """ % (
            sender_email, recipient_email_list_str, subject,
            len(plaintext_body), len(html_body)))
    optional_msg_description = (
        """
        Bcc: %s
        Reply_to: %s
        Recipient Variables:
            Length: %d
        """ % (
            bcc_email_list_str if bcc else 'None',
            reply_to if reply_to else 'None',
            len(recipient_variables) if recipient_variables else 0))
    logging.info(
        textwrap.dedent(msg) + textwrap.dedent(optional_msg_description))
    logging.info(
        'You are not currently sending out real emails since this is a' +
        ' dev environment. Emails are sent out in the production' +
        ' environment.')
    # Returns True signifying that the "send_email_to_recipients" action was
    # successful.
    return True