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