apache / apache/airflow

emailoperator with connection, missing config variable support (from_email), prefering airflow.cfg variable

Open
#31,211 5 comments 0 reactions 0 assignees View on GitHub
area:core good first issue kind:feature
Dominant language
Python
Stars
46.9k
Forks
17.8k
Avg merge
2d 7h
Merged PRs (30d)
484

Description

### Apache Airflow version

2.6.0

### What happened

the email operator when used with a connection is hard coded to use the smtp/smtp_mail_from and email/from_email variables from the airflow configuration. this should be adjusted to check if the connection has these vars set and prefer those instead.

there is a warning about configuration of email from airflow configuration being unsupported soon, so these config vars need to be supported in connections

### What you think should happen instead

if smtp_mail_from and from_email are set in extra_vars on a connection it should prefer those

### How to reproduce

setup airflow.cfg with incorrect smtp/smtp_mail_from and email/from_email variables.
attempt to override these with variables on an email connection
use the emailoperator with the new connection to send an email
see that the email was sent with the variables set in airflow.cfg

### Operating System

Debian GNU/Linux 11 (bullseye)

### Versions of Apache Airflow Providers

_No response_

### Deployment

Docker-Compose

### Deployment details

bitnami containers on baremetal debian with docker-compose

### Anything else

lines which need to be adjusted to support connection based vars:
- https://github.com/apache/airflow/blob/d4dc73416a652a895ada6484d67879a1aad5f0bb/airflow/utils/email.py#L73
- https://github.com/apache/airflow/blob/d4dc73416a652a895ada6484d67879a1aad5f0bb/airflow/utils/email.py#L128

### Are you willing to submit PR?

- [ ] Yes I am willing to submit a PR!

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)

Contributor guide

Open the contributing guide

Research direction

Start in airflow/utils/email.py at the referenced lines and trace how the email operator obtains its connection and configuration values. Reproduce the case with conflicting airflow.cfg and connection extra_vars for smtp_mail_from and from_email. Done means the connection values are preferred when set, while the existing configuration behavior remains supported.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.