How-to Guide for SMTP notifications¶
Introduction¶
The SMTP notifier (airflow.providers.smtp.notifications.smtp.SmtpNotifier
) allows users to send
messages to SMTP servers using the various on_*_callbacks
at both the DAG level and Task level.
You can also use a notifier with sla_miss_callback
.
Note
When notifiers are used with sla_miss_callback the context will contain only values passed to the callback, refer sla_miss_callback.
Example Code:¶
from datetime import datetime
from airflow import DAG
from airflow.operators.bash import BashOperator
from airflow.providers.smtp.notifications.smtp import send_smtp_notification
with DAG(
dag_id="smtp_notifier",
schedule_interval=None,
start_date=datetime(2023, 1, 1),
catchup=False,
on_failure_callback=[
send_smtp_notification(
from_email="someone@mail.com",
to="someone@mail.com",
subject="[Error] The dag {{ dag.dag_id }} failed",
html_content="debug logs",
)
],
):
BashOperator(
task_id="mytask",
on_failure_callback=[
send_smtp_notification(
from_email="someone@mail.com",
to="someone@mail.com",
subject="[Error] The Task {{ ti.task_id }} failed",
html_content="debug logs",
)
],
bash_command="fail",
)