Configurer l'envoi de mail

La CLI d’Airflow est un outil incontournable pour les administrateurs et les développeurs. Elle permet d'interagir avec vos DAGs, de gérer vos configurations et de diagnostiquer vos workflows sans passer par l'interface graphique.

Dans le fichier docker-compose.yml

docker-compose.yml
### MAIL CONFIGURATION ###
AIRFLOW__EMAIL__EMAIL_BACKEND: airflow.utils.email.send_email_smtp
AIRFLOW__SMTP__SMTP_HOST: 'smtp.gmail.com'
AIRFLOW__SMTP__SMTP_PORT: '587'
AIRFLOW__SMTP__SMTP_STARTTLS: True
AIRFLOW__SMTP__SMTP_MAIL_FROM: 'Joseph Konka <joseph.kakone@gmail.com>'
import os
from datetime import datetime, timedelta
from airflow import DAG
from airflow.providers.standard.operators.empty import EmptyOperator
from airflow.providers.smtp.operators.smtp import EmailOperator

# Define default_args and DAG
default_args = {
    "owner": "algojungle,
    "start_date": datetime(2026, 3, 1, 6, 0), # Date de début du pipeline
    "retries": 2,
    "retry_delay": timedelta(minutes=15),
    'email': ["joseph.kakone@gmail.com"], # Mail en cas d'échec
    'email_on_failure': True,
    'email_on_retry': False,
}

with DAG(
    dag_id="mail_pipeline",
    description="Mailing Pipeline",
    default_args=default_args,
    schedule_interval="30 6 * * *",
    tags=["demo", "mail"],
    catchup=False
) as dag:
    ########################################################################################
    # START
    start_task = EmptyOperator(task_id='start')

    # SEND MAIL
    send_email = EmailOperator(
        task_id="send_email",
        to=["joseph.kakone@gmail.com"],
        cc=["joseph.kakone@gmail.com"],
        subject="Mail Airflow",
        html_content="Hello,<br>Ceci est un mail Airflow.<br>Merci",
        dag=dag,
    )

    # END
    end_task = EmptyOperator(task_id='end')
    ########################################################################################

    start_task > send_email > end_task

.

Commentaires

Inscrivez-vous à une formation complète

Voir le catalogue