emailoperator with connection, missing config variable support (from_email), prefering airflow.cfg variable
- 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
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