Amazon SES
This page guides you through configuring Amazon SES as an email service provider on your self-hosted Appsmith instance.
Prerequisites
Before you begin, make sure that you have the following:
- A self-hosted Appsmith instance. See the installation guides to set up your Appsmith instance.
- An Amazon Web Services (AWS) account. Create an AWS Account, if you don't have one.
- Amazon SES is configured to send emails. If you haven't set up SES yet, make sure you have:
- Created an identity using an email address or a domain, and the identity status is verified. See Creating and verifying identities in Amazon SES.
- Created SMTP credentials for your account. See Obtaining Amazon SES SMTP credentials.
- Requested for production access to send emails. See Moving out of the Amazon SES sandbox to request production access.
Configure Amazon SES on Appsmith
Amazon SES limits sending messages. For more information, see Managing your Amazon SES sending limits.
You can configure the email service provider on your Appsmith instance by choosing one of the following ways:
Admin Settings
If you have already configured email using environment variables for your instance, those settings take precedence over the configuration provided through the Admin Settings UI.
Follow these steps to configure Amazon SES using Admin Settings:
- Log into your Appsmith instance as a superuser.
- Go to the Admin Settings screen.
- Select Email from the left navigation bar.
- Configure the parameters as shown below:
- SMTP host and SMTP port
- Add the Simple Mail Transfer Protocol (SMTP) host and port to configure Amazon SES. These settings allow Appsmith to establish a connection with Amazon SES to send emails. To find the SMTP host and SMTP port, follow these steps:
- Log into your Amazon management console.
- Go to Amazon Simple Email Service (SES).
- Select SMTP Settings from the left navigation bar.
- Add the SMTP endpoint from Amazon SES to the SMTP host field in Appsmith.
- Add the SMTP Port from Amazon SES to the SMTP port field in Appsmith. Do not use port 465 listed on the SES page because it uses implicit TLS, which is not supported by Appsmith.
- From address
- Add a verified email address. This email address is displayed in the From field when users receive an email from your application.
- Reply-to address
- Add a verified email address. When recipients reply to emails, their replies are directed to this address.
- Enable TLS protected connection
- Amazon SES configuration uses Transport Layer Security (TLS) for securely sending emails. Toggle it to use the TLS protocol. Enabling TLS ensures that email communications between Appsmith and Amazon SES are encrypted for enhanced security.
- SMTP username
- Add the SMTP username from the SMTP credentials available on Amazon SES. The SMTP username is used for authentication when sending emails through the SMTP server.
- SMTP password
- Add the SMTP password from the SMTP credentials available on Amazon SES. The SMTP password is used for authentication when sending emails through the SMTP server.
Click the SEND TEST EMAIL button to verify the configuration. A toast message appears at the top of the page, indicating the success or failure of the test. Additionally, a test email is sent to your inbox on successful verification.
ImportantSometimes the emails end up in the spam folder. To prevent the emails from being flagged as spam, follow the guide to configure SPF for SMTP/emails.
Click the SAVE & RESTART button to save the configurations and restart the instance with the updated settings.
Environment variables
Follow these steps to configure Amazon SES using environment variables:
Go to your Appsmith instance configuration file, such as the
docker.env
file for Docker and thevalues.yaml
file for Kubernetes.Update the values of the following environment variables:
- APPSMITH_MAIL_ENABLED
- Set it to
true
to enable the email service. When set totrue
, Amazon SES integration is activated, allowing Appsmith to send emails on your behalf. - APPSMITH_MAIL_FROM
- Set it to the verified email of the sender. This email address is displayed in the From field when users receive an email from your application.
- APPSMITH_REPLY_TO
- Set it to the verified email. When users respond to emails sent from your application, the replies are directed to this email address.
- APPSMITH_MAIL_HOST and APPSMITH_MAIL_PORT
- Set these variables to configure the Simple Mail Transfer Protocol (SMTP) host and port for Amazon SES. These settings allow Appsmith to establish a connection with Amazon SES to send emails. To find the SMTP host and SMTP port, follow these steps:
- Log into your Amazon management console.
- Go to Amazon Simple Email Service (SES).
- Select SMTP Settings from the left navigation bar.
- Add the SMTP endpoint from Amazon SES to the
APPSMITH_MAIL_HOST
variable in Appsmith. - Add the SMTP Port from Amazon SES to the
APPSMITH_MAIL_PORT
variable in Appsmith. Do not use port 465 listed on the SES page because it uses implicit TLS, which is not supported by Appsmith.
- APPSMITH_MAIL_SMTP_TLS_ENABLED
- Set it to
true
to enable Transport Layer Security (TLS) for securely sending emails through Amazon SES. Enabling TLS ensures that email communications between Appsmith and Amazon SES are encrypted, providing an additional layer of security. - APPSMITH_MAIL_SMTP_AUTH
- Set it to
true
to share theAPPSMITH_MAIL_USERNAME
andAPPSMITH_MAIL_PASSWORD
with Amazon SES SMTP server. Enabling SMTP authentication allows Appsmith to authenticate with Amazon SES using the provided username and password to send emails. - APPSMITH_MAIL_USERNAME
- Set it to the SMTP username from the SMTP credentials available on Amazon SES. This username is used for authentication when sending emails through the SMTP server.
- APPSMITH_MAIL_PASSWORD
- Set it to the SMTP password from the SMTP credentials available on Amazon SES. This password is used for authentication when sending emails through the SMTP server.
Save the changes and restart the Appsmith instance.
Troubleshooting
You may encounter some common errors after configuring Amazon SES:
If you continue to face issues, contact the support team using the chat widget at the bottom right of this page.