Activation email skipped because "user is anonymous"

I’ve sent email invites to eleven different colleagues who have agreed to help me test out my self-hosted Discourse instance. Most of them have been able to create an account without an issue, except one.

When I sent his initial invite email, it soft-bounced (I’m using MailJet for outgoing email, and his address domain is mac.com). After eight days I resent it and it soft-bounced again. I had been emailing him successfully from my personal account during this time, so I just generated an invite link and sent it to him that way.

When he clicked the link he was able to create an account and password, but did not receive an activation email. When I looked in my admin panel, I saw that the activation email showed up under the “Skipped” tab, and the “Skip Reason” was “User is anonymous”.

I’m not sure what “anonymous” means in this context. I thought that if users were invited via link they normally got an activation email sent to them to verify the email address. I do have “full name required” checked, but he filled out that field on his profile.

1 Like

Do you have anonymous mode enabled? It is disabled by default in Discourse.

1 Like

Here’s the settings that include “anonymous” that I’ve changed from the default:

“login required”: checked
“enable signup cta”: unchecked
“allow anonymous posting”: checked

2 Likes

Remember those anonymous accounts are all temporary and created on demand when a logged in user selects the “enter anonymous mode” option.

1 Like

OK, this is interesting. I didn’t think he would have been able to enter anonymous mode since he never got activated and was unable to login.

I queried the database with Data Explorer to see which anonymous users are associated with which original users. His account is showing up as an anonymous user linked to my admin account.

It’s not clear to me why he’s in the anonymous_users table.

1 Like

There must be some problem with your SSO code, are you using SSO?

Beyond that I would say you have a broken install in some way.

1 Like

I’m not using SSO, I’m just using the built-in user authentication.

If my install is broken, would that be remedied by a rebuild?

This is also the first user I’ve invited since I updated to 2.4.0.beta6, as well as the only user I’ve invited using a link versus an email.

Did you invite them (generate the invite link) while you were in anonymous mode? :thinking:

I was in my admin account when I generated the link (not in anonymous mode).

UPDATE: In an attempt to reproduce the problem with a different email address, I sent an invite link to myself at my secondary address (an .edu address hosted by Gmail) using my personal iCloud email.

After I clicked on the invite link and registered, Discourse sent an activation email to the .edu address. I went into the admin account and verified that the new user account was not in anonymous_users. I logged out as admin and was then able to activate the account through the activation email link.

After deleting the new user, I tried the process again using the automatically-generated invite email, and everything worked as expected.

Since I couldn’t reproduce the problem with a different email that I control, could this somehow be an issue related to this one person’s email account and/or email provider? Both of my previous invite emails soft-bounced at different times, when I was able to send him email through my personal account. (I don’t think it’s the email provider, since both he and I are on mac.com/icloud.com and I can send emails through Discourse to my personal account just fine).

Also, in an attempt to troubleshoot the deliverability issue, I just sent this person a Deliverability Test email through admin/email and MailJet shows it as delivered. The only thing that’s changed between the last time I tried emailing him through the system and now is that I put a DMARC record in the DNS (I had already gotten SPF and DKIM working but had no DMARC).

1 Like