Activation emails: discourse-doctor works, discourse itself does not

So running the mail test at /admin/email doesn’t send a message? Is /sidekiq running? Did you do a standard install?

Discourse needs a domain name to work, so your problem may be related to binding it only to localhost.