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
)
@srivallivagdevi
Copy link

srivallivagdevi commented Apr 20, 2021

What are the configuration changes that are to be done? No errors and no mail

@nandhan2047
Copy link

nandhan2047 commented Jun 2, 2021

what is the alternate for this as EmailOperator is gone now.

@mmunarriz
Copy link

mmunarriz commented Jul 6, 2021

PendingDeprecationWarning: Fetching SMTP credentials from configuration variables will be deprecated in a future release. Please set credentials using a connection instead.

@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