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.

How do I setup email system using SSL protocol?

Issue

I am having trouble setting up SSL for our enterprise mail system because Appsmith does not support it. I need to modify a user’s password by their email address, but I am unsure of how to proceed in light of this issue.

Resolution

The issue at hand is that the enterprise mail system that the user wants to modify their password on uses SSL protocol, which Appsmith doesn't support. To set up SSL, the user needs to make changes in their Admin Settings page. The solution involves enabling TLS for sending emails by default.

To modify a user's password by their email address, the user would need to have administrative access to their enterprise mail system. They can then log in to the system and change the user's password directly. Alternatively, they can create a custom form or interface within Appsmith to enable the user to change their password indirectly.

Here's an example of how to modify a user's password directly in Python:

import ssl
import smtplib

# set up SSL connection
context = ssl.create_default_context()
with smtplib.SMTP_SSL("mail.example.com", 465, context=context) as server:
server.login("admin@example.com", "admin_password")
# change user's password
server.passwd("user@example.com", "new_password")

Note that this code assumes that the enterprise mail system's SMTP server is hosted at mail.example.com and uses port 465 for SSL connections. The admin email and password are used to log in to the server, and the user's email and new password are passed to the server.passwd method to change the password.