Thanks to all. Sorry for the delay. It seems that outgoing email tests land in a black hole. I now understand that SPF and DKIM records should not be required. Here is what I now see when logged in as admin:
/emails/settings I enter any (mine or an invited user; host domain or not) email address and I get this error msg:
There was a problem sending the test email. Please double-check your mail settings, verify that your host is not blocking mail connections, and try again.
As I understand the email settings in Discourse, I think they are correct but I have seen no real definition. Host domain is not blocking because I can send an email from my personal address. I checked UFW of Discourse droplet and it reports disabled.
/logs/error logs is blank. An obvious error (above) but it didn’t log! Log all email processing failures to [/logs] is true (checked). I find no error at host domain.
In addition, I have a WP site with WP Discourse plugin installed but not activated. Might this plugin help somehow?
TIA
Edit…
I returned to Dashboard and saw this:
There are 7 email jobs that failed. Check your app.yml and ensure that the mail server settings are correct. [See the failed jobs in Sidekiq](https://talk.thesturdytree.com/sidekiq/retries)
I clicked Sidekiq and I see 7 entries which are duplicates of these"
[in 3 hours](https://talk.thesturdytree.com/sidekiq/retries/1585096899.6700559-58d9041788be7dd98d743894) 15 [default](https://talk.thesturdytree.com/sidekiq/queues/default) Jobs::InviteEmail {"invite_id"=>2, "current_site_id"=>"default"} Jobs::HandledExceptionWrapper: Wrapped Net::ReadTimeout: Net::ReadTimeout with #<TCPSocket:(closed)>
[in 3 hours](https://talk.thesturdytree.com/sidekiq/retries/1585097052.665957-fc6f06d948e7d37ec15354cc) 15 [critical](https://talk.thesturdytree.com/sidekiq/queues/critical) Jobs::CriticalUserEmail {"type"=>"email_login", "user_id"=>1, "email_token"=>"da467ec8590f0ecb0220d3aed5b33c61", "current_site_id"=>"default"} Jobs::HandledExceptionWrapper: Wrapped Net::ReadTimeout: Net::ReadTimeout with #<TCPSocket:(closed)>
That admin dashboard page also says “You’re up to date!” but when I ssh into the droplet, I’m told that “55 packages can be updated.” Does this require some action?