Email is such a messy and buggy system, since i have to debug the email system problem once awhile, it would be convenient to provide an easy settings in admin panel. rather than to rebuild the whole docker app. I dont understand why email setting is a set-once option.
AI-generated summary
Users are discussing the request to allow SMTP settings to be updated via the admin panel instead of requiring manual edits to app.yml. akeybupt2004 highlights the frustration of debugging email issues and suggests making SMTP configuration easier in the admin panel. watchmanmonitor agrees and notes that environment variables can be refreshed via ./launcher rebuild app, though warns that destroy is intimidating. Mytee shares their struggle with SMTP setup and supports adding these settings to the admin panel. fefrei explains that SMTP settings are in app.yml because they must be configured before the first admin account is created, and argues it’s unreasonable for Discourse to edit its own app.yml. They suggest using environment variables as an alternative. akeybupt2004 speculates security is the reason SMTP is in app.yml, and proposes a simplified design using a one-time secret key in app.yml for initial admin access, after which all settings (including SMTP) could be managed in the admin panel. DeanMarkTaylor adds that this feature is especially relevant for multisite installs, as Discourse currently doesn’t support multiple outgoing SMTP servers per site — though environment variables could technically be used per-site if exposed properly. A pull request is suggested as a possible solution.
Agreed that it would be great to adjust this in the admin.. I’m guessing there are reasons why it’s not like that already.
Recently I learned the following which should help.. the word destroy is scary to me, but the source of tip couldn’t be better:
I had some problems with SMTP and had to figure out a lot of things to make it work. Adding these settings to the Admin panel would be great. Totally support that.
Maybe also add an option to do ./launcher start app
How should this work, exactly? SMTP settings are in app.yml, and they need to stay there because they are meant to be configured during set up, before the first administrator account is created. I don’t think that it’s reasonable for Discourse to find and update its own app.yml file, so what alternatives are there?
The only reasonable way to do this that I see would be a site sitting for “ignore the SMTP configuration in the container definition and use these settings instead”, which sounds like a support nightmare to me (since now there are two places where the mail configuration could be messed up).
@fefrei i guess security is the reason you guys put smtp settings in app.yml.
If that 's true, i would simplified that design and put an use-and-forget ‘secret-key’ in app.yml, the first access user must provide this secret key to access the register page(only one person get this key, and it will never be used agaign). And before actual register, this user must provide the system smtp settings, these settings will be saved just like all the other settings in admin panel.
This feature request is also relevant to multisite installs as per this support thread: