Category: Question and Answers
Updated

This solution is summarized from an archived support forum post. This information may have changed. If you notice an error, please let us know in Discord.

What is the difference between SMTP settings in docker.env and the “Email” page in Admin settings?

Issue

I'm confused about the difference between configuring SMTP settings in the docker.env file and using the Admin Settings Email page in my K8s deployment of Appsmith. The values in Admin Settings do not match the values in my active ConfigMap or the output of the "env" command in the active Appsmith pod. However, I have been using the values from the ConfigMap for tasks like inviting members. It turns out that the values in the ConfigMap are the ones that are actually used by Appsmith, and the values in Admin Settings are not in sync with the ConfigMap since the Appsmith backend server doesn't have access to it directly. This confusion only occurs in K8s deployments, and the solution is to make configuration changes directly in the ConfigMap (via the values.yaml).

Resolution

When configuring SMTP settings for an Appsmith instance, the recommended approach is to modify the docker.env or values.yaml file, depending on the deployment method being used. However, it is also possible to modify these settings through the Admin Settings page, but this is only available to SuperAdmins and can cause confusion since the values displayed on this page may not reflect the actual values being used.

In Kubernetes deployments, the values from the ConfigMap file are treated as the canonical source, which means that any changes made through the Admin Settings page will not be reflected in the deployment. To avoid this confusion, it is recommended to make configuration changes directly in the ConfigMap file via the values.yaml file.

It is important to note that this issue only affects Kubernetes deployments and not docker-compose based deployments. Appsmith is working to fix this confusion in Kubernetes deployments, but for now, changing configuration settings in the ConfigMap file directly is the best approach.