User Timelord reported missing SMTP settings after a fresh Discourse installation, noting that DISCOURSE_SKIP_EMAIL_SETUP: '1' appeared in app.yml instead of expected configuration, accompanied by Sidekiq retry jobs. pfaffman explained that the new installer may omit SMTP settings from app.yml even if entered, suggesting the user either manually edit the YAML file to include the correct template lines or delete the existing file to re-run discourse-setup. tobiaseigen initially recommended running discourse-doctor or comparing app.yml against a working example from the Discourse Docker samples, but later agreed with pfaffman that re-running the setup was the simpler solution. Falco confirmed they could not reproduce the issue with the current installer version but noted that post-install SMTP configuration requires manual YAML editing. Ultimately, Timelord resolved the issue by manually adding the legacy SMTP configuration to app.yml, restoring email functionality.
Seems you have some lines missing from app.yml if you change your mind after setup and want to use email after all.
I’m not so familiar with the way things have changed since Self-Hosting Discourse Just Got a Whole Lot Easier but on my sites the way SMTP details are configured in app.yml have not changed. if I were you I would try running
cd /var/discourse
./discourse-doctor
and see if that allows you to fix it. If that doesn’t work, then I would go find an app.yml from a working site and use that as an example to make sure the lines required for email are present and correct. If you don’t have that, then you can get an example here:
Then rebuild.
If all of this feels hard, if it’s not too late you can also start over and answer the questions correctly with your SMTP details from the outset.
That looks like you didn’t configure smtp when you ran discourse-setup-ruby.
The problem with the new system is that it writes an app.yml that does not include an the settings in it. You’ll need to either look at the template and copy what you want, or delete/rename the existing yml file and rub discourse-setup from scratch. That’s going to be the easiest thing to do.