human
I wrote the below code

    if (not recipient_list):
        return True
    if isinstance(recipient_list, basestring):
        raise ValueError('recipient_list    should    be    a    list,    not    a    string.')
    if perm_setting:
        if isinstance(perm_setting, str):
            perm_setting = NOTIFICATIONS_BY_SHORT[perm_setting]
        perms = dict(UserNotification.objects.filter(user__email__in=recipient_list, notification_id=perm_setting.id).values_list('user__email', 'enabled'))
        d = perm_setting.default_checked
        recipient_list = [e for e in recipient_list if (e and perms.setdefault(e, d))]
    if use_blocked:
        not_blocked = []
        for email in recipient_list:
            if (email and (email.lower() in settings.EMAIL_BLOCKED)):
                log.debug(('Blocked    email    removed    from    list:    %s' % email))
            else:
                not_blocked.append(email)
        recipient_list = not_blocked
    if settings.SEND_REAL_EMAIL:
        fake_recipient_list = []
        real_recipient_list = recipient_list
    else:
        real_email_regexes = _real_email_regexes()
        if real_email_regexes:
            fake_recipient_list = []
            real_recipient_list = []
            for email in recipient_list:
                if (email and any((regex.match(email.lower()) for regex in real_email_regexes))):
                    log.debug(('Real    email    encountered:    %s    -    sending.' % email))
                    real_recipient_list.append(email)
                else:
                    fake_recipient_list.append(email)
        else:
            fake_recipient_list = recipient_list
            real_recipient_list = []
    if (not from_email):
        from_email = settings.DEFAULT_FROM_EMAIL
    if cc:
        if isinstance(cc, basestring):
            cc = [cc]
    if (not headers):
        headers = {}
    def send(recipient, message, real_email, **options):
        kwargs = {'async': async, 'attachments': attachments, 'cc': cc, 'fail_silently': fail_silently,...

What's a good function header?
 Here's a good function header?
assistant
#Here's a good function header.

def send_mail(subject, message, from_email=None, recipient_list=None, fail_silently=False, use_blocked=True, perm_setting=None, manage_url=None, headers=None, cc=None, html_message=None, attachments=None, async=False, max_retries=None):