Email активации пропущен, так как «пользователь анонимен»

Я отправил приглашения по электронной почте одиннадцати коллегам, которые согласились помочь мне протестировать мой самодоступный экземпляр Discourse. У большинства из них не возникло проблем с созданием учётной записи, за исключением одного.

Когда я отправил ему первое приглашение по электронной почте, оно было отклонено с мягким уведомлением о недоставке (я использую MailJet для исходящей почты, а домен его адреса — mac.com). Через восемь дней я отправил его повторно, и оно снова было отклонено с мягким уведомлением. Поскольку в это время я успешно обменивался с ним письмами со своего личного аккаунта, я просто сгенерировал ссылку для приглашения и отправил её ему таким образом.

Когда он перешёл по ссылке, ему удалось создать учётную запись и пароль, но он не получил письмо с активацией. Когда я заглянул в свою панель администратора, то увидел, что письмо с активацией отображается во вкладке «Пропущено», а в поле «Причина пропуска» указано «Пользователь анонимен».

Я не уверен, что означает «анонимен» в данном контексте. Я думал, что если пользователей приглашают по ссылке, им обычно отправляется письмо с активацией для подтверждения адреса электронной почты. У меня стоит галочка «Требуется полное имя», но он заполнил это поле в своём профиле.

Включён ли у вас анонимный режим? По умолчанию в Discourse он отключён.

Вот настройки, включающие «анонимный», которые я изменил по умолчанию:

«требуется вход»: включено
«включить призыв к действию для регистрации»: выключено
«разрешить анонимные публикации»: включено

Помните, что все анонимные учётные записи являются временными и создаются по требованию, когда авторизованный пользователь выбирает опцию «Войти в анонимный режим».

Окей, это интересно. Я не думал, что он сможет войти в анонимный режим, так как он никогда не был активирован и не мог войти в систему.

Я выполнил запрос к базе данных через Data Explorer, чтобы узнать, какие анонимные пользователи связаны с какими исходными пользователями. Его учётная запись отображается как анонимный пользователь, связанный с моей учётной записью администратора.

Мне непонятно, почему он находится в таблице anonymous_users.

Похоже, в вашем коде SSO есть проблема. Вы используете SSO?

Помимо этого, можно сказать, что у вас где-то повреждена установка.

Я не использую SSO, только встроенную аутентификацию пользователей.

Если моя установка повреждена, поможет ли её пересборка?

Это также первый пользователь, которого я пригласил после обновления до версии 2.4.0.beta6, и единственный, приглашённый по ссылке, а не по электронной почте.

Приглашали ли вы их (сгенерировать ссылку для приглашения), находясь в анонимном режиме? :thinking:

Я был в своей учетной записи администратора, когда генерировал ссылку (не в анонимном режиме).

ОБНОВЛЕНИЕ: Пытаясь воспроизвести проблему с другим адресом электронной почты, я отправил ссылку-приглашение самому себе на свой дополнительный адрес (адрес .edu, размещенный в Gmail), используя свой личный iCloud-адрес.

После того как я перешел по ссылке-приглашению и зарегистрировался, Discourse отправил письмо с активацией на адрес .edu. Я зашел в учетную запись администратора и убедился, что новая учетная запись пользователя не находится в списке anonymous_users. Я вышел из системы как администратор и затем смог активировать учетную запись, перейдя по ссылке из письма с активацией.

После удаления нового пользователя я повторил процесс, используя автоматически сгенерированное приглашение по электронной почте, и всё работало как ожидалось.

Поскольку мне не удалось воспроизвести проблему с другим адресом, которым я управляю, не может ли это быть связано с учетной записью электронной почты конкретного человека и/или его провайдером электронной почты? Оба моих предыдущих приглашения по электронной почте были мягко отклонены в разное время, хотя я мог отправлять ему письма со своего личного аккаунта. (Я не думаю, что дело в провайдере электронной почты, так как и он, и я используем Mac - Apple, и я могу отправлять письма через Discourse на свой личный адрес без проблем).

Кроме того, пытаясь устранить проблему с доставкой, я только что отправил этому человеку тестовое письмо о доставке через админ-панель (admin/email), и MailJet показал, что оно доставлено. Единственное, что изменилось с момента последней попытки отправить ему письмо через систему и сейчас, — это то, что я добавил запись DMARC в DNS (SPF и DKIM у меня уже работали, но DMARC отсутствовал).