Как изменить основной адрес электронной почты

У меня возникла проблема: основной email для моего членства в качестве главного менеджера сообщества был изменён несколько лет назад. Компания, которой он принадлежал ранее, отключила этот адрес, и теперь я не могу изменить email в Discourse, так как система требует отправки подтверждения на предыдущий адрес. Это мешает мне утверждать новых менеджеров, администраторов и модераторов. Есть ли способ изменить email без отправки подтверждения на предыдущий адрес?

Дайте знать, если проблема понятна или если это случалось ранее.

Если вы единственный администратор, вам потребуется обновить свою учетную запись через консоль Rails.

Если у вас нет root-доступа к серверу, то это должен сделать для вас хостинг-провайдер вашего экземпляра.

Если есть другой администратор, удалите права администратора со своей учетной записи, чтобы изменить адрес электронной почты, а затем попросите его снова назначить вас администратором. Или используйте консоль, как описано.

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

Изменил ли ваш адрес электронной почты другой администратор, или вы пытались сделать это сами?

Если администратор меняет адрес электронной почты пользователя без прав администратора, уведомление на старый адрес не отправляется.

Если у вас есть доступ по SSH к серверу, вы можете сделать следующее:

cd /var/discourse
./launcher enter app
u=User.find_by_email('old@email.address')
u.email='new@email.address'
u.save;
exit
exit

Однако я только что подтвердил, что для обычного пользователя письмо не отправляется на текущий адрес электронной почты. Возможно, ваша учётная запись одновременно является администратором и модератором? (Я не проверял, можно ли изменить учётную запись модератора без уведомления старого адреса).

На старый адрес отправляется письмо-уведомление, но письмо с подтверждением отправляется только на новый адрес.

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

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

Привет, @MAR, тебе нужно попросить своего коллегу также отозвать твои права модератора. Если ты сейчас войдёшь в систему, увидишь ли ты «admin» в меню-гамбургере? Можешь ли ты получить доступ к каким-либо функциям модерации?

Привет,

Мой коллега помог мне, но по-прежнему отображается сообщение о отправке письма на «этот адрес», и ничего не приходит на мой новый адрес. Поэтому мой коллега вернул мне статусы администратора и модератора. Нужно будет разобраться с вариантом SSH-сервера, о котором вы упоминали.

«Этот адрес» — новый адрес. Если вы его не получили, проверьте папку «Спам», а если вы используете сервис маски, поддерживаемый Microsoft, рассмотрите возможность получения другого. Также попросите кого-нибудь провести тест на mail-tester.com, как описано в статье Устранение неполадок с электронной почтой при новой установке Discourse.

Привет. Надеюсь, можно продолжить эту тему, а не создавать новую. У меня та же ситуация, что и у автора оригинального поста. Я администратор своего экземпляра Discourse и удалил свой личный домен, прежде чем изменить email в Discourse.

Я попробовал совет @pfaffman Jay использовать консоль для внесения изменений, но получаю ошибку синтаксиса bash в этой строке:

u=User.find_by_email('old@email.address')

Я, конечно, подставил свой старый адрес электронной почты, но получаю эту ошибку:

bash: syntax error near unexpected token `('

Может быть, метод find_by_email изменился за последний год? Извините, но я не очень хорошо знаю Rails. Хотя я становлюсь лучше в подключении к серверу через ssh и навигации по нему.

Перед вводом этих команд выполните следующее:

cd /var/discourse 
./launcher enter app 
rails c 

Затем выполните действия, которые вы пытаетесь сделать. Введите exit несколько раз, чтобы выйти из всех режимов.

Спасибо! Это сработало на 100%.