apache-airflow-providers-mailer¶
Deze provider heeft al zijn eigen volledige Sphinx-documentatieboom in de eigen repo, onder docs/apache-airflow-providers-mailer/. De inhoud op deze pagina spiegelt dat; het is geen nieuw geschreven tekst.
Verstuurt e-mail vanuit Airflow-taken via gewone SMTP, de Microsoft Graph API, of SMTP met OAuth2/XOAUTH2 — elk met een eigen Airflow-connectietype, zodat credentials in Connections leven, niet in DAG-code of airflow.cfg.
Connectietypes¶
Zie Mailer-connectie voor een walkthrough met screenshots van het aanmaken van deze connectie in de Airflow UI.
Connectietype |
Weergavenaam |
Hook |
|---|---|---|
|
Gewone SMTP |
De standaard SMTP-connectie van Airflow — geen extra provider nodig |
|
Microsoft Graph Email |
|
|
SMTP OAuth Email |
|
Operator¶
EmailOperator(airflow.providers.mailer.operators.email.EmailOperator)Verstuurt een e-mail als DAG-taak.
subjectenhtml_contentzijn Jinja-getemplate;html_contentaccepteert ook een pad naar een.html-bestand, dat automatisch wordt geladen en getemplate.mailer_conn_idbepaalt via welk van de drie bovenstaande connectietypes wordt verstuurd (standaardsmtp_default). Ondersteuntto/cc/bcc(str of list),files(bijlagen), en werkt zoals elke andere operator mettrigger_rulevoor failure-notificatietaken.
Gebruik¶
from airflow.providers.mailer.operators.email import EmailOperator
notify = EmailOperator(
task_id="notify",
to=["alice@example.com", "bob@example.com"],
cc="manager@example.com",
subject="Pipeline done — {{ ds }}",
html_content="<p>Run {{ run_id }} completed.</p>",
)
on_failure = EmailOperator(
task_id="on_failure_email",
to="oncall@example.com",
subject="[FAILED] ETL pipeline — {{ ds }}",
html_content="<p>Task {{ task_instance.task_id }} failed on {{ ds }}.</p>",
trigger_rule="one_failed",
mailer_conn_id="mailer_graph_default",
)