How to setup SMTP for sending emails using SES?


I am trying to setup SMTP configuration for sending emails using SES. Under airflow configuration I can setup almost all smtp configs, except smtp_user and smtp_password for authentication.
Then of course I get an error when trying to send an email

smtplib.SMTPSenderRefused: (530, b'Authentication required', '')

I cannot find any documentation about how to setup the email backend in MWAA.... How is supposed to be configured? Should we pass access key and secret for a smtp user? or should use the IAM Role configured for Airflow somehow?
I am curious specially about passing a secret value as plain text there... and I see that secrets manager backend is not fully operational.

Thanks in advance

asked 2 years ago437 views
6 Answers


Please see the attached example configuration overrides using Gmail smtp as an example.


answered 2 years ago

Thank you for your answer.
So for using SES, should I create an IAM user with SES credentials and then feed in the config the Access Key and Secret? Any way to protect the secrets?


Edited by: paj-zj-99 on Feb 1, 2021 1:37 AM

answered 2 years ago

Just for the records in case helps others.
Setting the access key in smtp.smtp_user and the associated ses password into the smtp.smtp_password works.
The main issue for me is passing the password as a plain text config... I hope soon we get a way of securely passing such secrets

answered 2 years ago

In my case, the value of smtp_user option is 'apikey' and the smtp_password is 'SG.-rXXXXXXXXXXXXXXXXXXX2U'. I tried setting these values but they are not being considered. When I checked the Airflow configuration options in my environment, it did not have the smtp_user and smtp_password options. Please help me fix this.

FYI, the above options and their values work fine to send an email in an EC2 setup of Airflow but not in managed Airflow environment.

Edited by: ArjunAnaji on May 17, 2021 8:01 AM

answered 2 years ago

It worked somehow when I set the smtp_user and smtp_password arguments again in my environment. I'm not sure whether the issue has been fixed recently.

answered 2 years ago

You all should try using AWS Secrets Manager to store and retrieve your SES credentials.

answered 2 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions