airflow.providers.smtp.operators.smtp

Classes

EmailOperator

Sends an email.

Module Contents

class airflow.providers.smtp.operators.smtp.EmailOperator(*, to, subject=None, html_content=None, from_email=None, files=None, cc=None, bcc=None, mime_subtype='mixed', mime_charset='utf-8', conn_id='smtp_default', custom_headers=None, **kwargs)[source]

Bases: airflow.models.BaseOperator

Sends an email.

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

  • from_email (str | None) – email to send from. (templated)

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

  • html_content (str | None) – 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 (templated)

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

  • 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: collections.abc.Sequence[str] = ('to', 'from_email', 'subject', 'html_content', 'files', 'cc', 'bcc')[source]
template_fields_renderers[source]
template_ext: collections.abc.Sequence[str] = ('.html',)[source]
ui_color = '#e6faf9'[source]
to[source]
subject = None[source]
html_content = None[source]
from_email = None[source]
files = [][source]
cc = None[source]
bcc = None[source]
mime_subtype = 'mixed'[source]
mime_charset = 'utf-8'[source]
conn_id = 'smtp_default'[source]
custom_headers = None[source]
execute(context)[source]

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?