Discourse setup not asking for smtp server address

That sounds like a bug, maybe.

If the port is in use you should get a message that says that it’s in use. Did that not happen?

But if app.yml exists, the script assumes that you’ve successfully installed and need to reconfigure. If you created app.yml by hand, then discourse-setup can’t be held responsible. Is that what happened?

And if you removed the check ports test, then it’s not surprising that something else might be using the ports needed. You’re on your own at that point.