Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Example Email Operator Usage with Attachment
from airflow.models import DAG
from airflow.operators.email_operator import EmailOperator
from airflow.operators.python_operator import PythonOperator
from datetime import datetime
from tempfile import NamedTemporaryFile
dag = DAG(
"email_example",
description="Sample Email Example with File attachments",
schedule_interval="@daily",
start_date=datetime(2018, 12, 7),
catchup=False,
)
def build_email(**context):
with NamedTemporaryFile(mode='w+', suffix=".txt") as file:
file.write("Hello World")
email_op = EmailOperator(
task_id='send_email',
to="hello@example.com",
subject="Test Email Please Ignore",
html_content=None,
files=[file.name],
)
email_op.execute(context)
email_op_python = PythonOperator(
task_id="python_send_email", python_callable=build_email, provide_context=True, dag=dag
)
@novadejamesng
Copy link

novadejamesng commented Mar 25, 2022

In airflow.cfg, use this:
email_backend = airflow.utils.email.send_email_smtp
so that you can use this:
from airflow.operators.email_operator import EmailOperator

@manishkmbl0
Copy link

manishkmbl0 commented Jul 28, 2022

can we attache file in email from GCS any bucket

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment