Issue:
`custom_headers` is available as an optional keyword argument in `build_mime_message` but it is not exposed in `send_email` or `send_email_smtp`. This prevents using custom headers with the email operator when using the default smtp backend. 

https://github.com/apache/airflow/blob/8e2a0bc2e39aeaf15b409bbfa8ac0c85aa873815/airflow/utils/email.py#L105-L116

Expected:
`send_email` should take optional key word argument `custom_headers` and pass it to `send_email_smtp` if that is the selected backend. 




airflow/utils/email.py
files: Optional[List[str]] = None,
    dryrun: bool = False,
    cc: Optional[Union[str, Iterable[str]]] = None,
    bcc: Optional[Union[str, Iterable[str]]] = None,
    mime_subtype: str = 'mixed',
    mime_charset: str = 'utf-8',
    conn_id: Optional[str] = None,
    **kwargs,
):
    """Send email using backend specified in EMAIL_BACKEND."""
    backend = conf.getimport('email', 'EMAIL_BACKEND')
    backend_conn_id = conn_id or conf.get("email", "EMAIL_CONN_ID")
    from_email = conf.get('email', 'from_email', fallback=None)
    to_list = get_email_address_list(to)
    to_comma_separated = ", ".join(to_list)
    return backend(
        to_comma_separated,
        subject,
        html_content,
        files=files,
        dryrun=dryrun,
        cc=cc,
        bcc=bcc,
        mime_subtype=mime_subtype,
        mime_charset=mime_charset,
        conn_id=backend_conn_id,
        from_email=from_email,
        **kwargs,
    )
def send_email_smtp(