Module Contents



Sends an email.

class*, to, subject, html_content, files=None, cc=None, bcc=None, mime_subtype='mixed', mime_charset='utf-8', conn_id=None, custom_headers=None, **kwargs)[source]

Bases: airflow.models.baseoperator.BaseOperator

Sends an email.

  • to (list[str] | str) – list of emails to send the email to. (templated)

  • subject (str) – subject line for the email. (templated)

  • html_content (str) – content of the email, html markup is allowed. (templated)

  • files (list | None) – file names to attach in email (templated)

  • cc (list[str] | str | None) – list of recipients to be added in CC field

  • bcc (list[str] | str | None) – list of recipients to be added in BCC field

  • mime_subtype (str) – MIME sub content type

  • mime_charset (str) – character set parameter added to the Content-Type header.

  • custom_headers (dict[str, Any] | None) – additional headers to add to the MIME message.

template_fields: Sequence[str] = ('to', 'subject', 'html_content', 'files')[source]
template_ext: Sequence[str] = ('.html',)[source]
ui_color = '#e6faf9'[source]

This is the main method to derive when creating an operator. Context is the same dictionary used as when rendering jinja templates.

Refer to get_template_context for more context.

Was this entry helpful?