How to use AWS SES in Grafana to send emails?

Using Grafana (mix of 7.x and 8.x) on Ubuntu and trying to setup SMTP and email alert channels. From the Grafana server(s) command line, I can connect to SES (openssl s_client -crlf -quiet -starttls smtp -connect email-smtp.us-east-1.amazonaws.com:587) and send test messages, but when trying to send from the Grafana UI, it always fails and the log says “Invalid Credentials”

I’ve tried using the plaintext user/pass as well as the base64 encoded user/pass… Has anyone gotten Grafana to send email using AWS SES?

My (scrubbed) SMTP config in grafana.ini:

#################################### SMTP / Emailing ##########################
[smtp]
enabled = true
host = email-smtp.us-east-1.amazonaws.com:587
user = plaintext_user (or base64_user) from SES config
password = ""plaintext_password or base64_password from SES config ""
;cert_file =
;key_file =
;skip_verify = false
from_address = verified_ses_user@ses_verified.domain
from_name = "Test Grafana"

Go to AWS IAM, create an SMTP user Obtaining Amazon SES SMTP credentials - Amazon Simple Email Service. Then add something like this to your grafana.ini smtp config section.

[smtp]
# If the password contains # or ; you have to wrap it with triple quotes. Ex “”"#password;"""
enabled = true
host = email-smtp.<your region>.amazonaws.com:587
startTLS_policy = MandatoryStartTLS
skip_verify = true
user = AKIASMTPUSERBLAH
password = SMTPSECRETBLAHBLAHBLAHBLAHBLAHBLAHBLAH
from_address = <whatever email you want to say you are sending from>
from_name = Grafana
1 Like

For me it worked changing the port to 465 like so:

[smtp]
# If the password contains # or ; you have to wrap it with triple quotes. Ex “”"#password;"""
enabled = true
host = email-smtp.<your region>.amazonaws.com:465
startTLS_policy = MandatoryStartTLS
skip_verify = true
user = AKIASMTPUSERBLAH
password = SMTPSECRETBLAHBLAHBLAHBLAHBLAHBLAHBLAH
from_address = <whatever email you want to say you are sending from>
from_name = Grafana