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

**URL:** https://meta.discourse.org/t/how-to-change-user-email-if-email-account-has-been-deleted/173434
**Category:** Support
**Created:** [15.Декабрь.2020 23:59:09 UTC](https://meta.discourse.org/t/how-to-change-user-email-if-email-account-has-been-deleted/173434 "2020-12-15T23:59:09Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![Andro](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/andro/32/173721_2.png) [@Andro](https://meta.discourse.org/u/Andro)
#### Post date: [15.Декабрь.2020 23:59:09 UTC](https://meta.discourse.org/t/how-to-change-user-email-if-email-account-has-been-deleted/173434/1 "2020-12-15T23:59:09Z")

</div>

Я удалил свой почтовый аккаунт в определённом почтовом сервисе. Теперь при смене адреса электронной почты в настройках система просит проверить письмо с подтверждением, отправленное на этот адрес, который больше недоступен. Даже как администратор сайта, пытаясь сменить адрес, я получаю то же сообщение.

Что делать в таком случае? Это должно быть достаточно распространённая ситуация.

---

<div class="post-metadata">

### Author: ![awesomerobot](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/awesomerobot/32/142900_2.png) [@awesomerobot](https://meta.discourse.org/u/awesomerobot)
#### Post date: [16.Декабрь.2020 00:15:08 UTC](https://meta.discourse.org/t/how-to-change-user-email-if-email-account-has-been-deleted/173434/2 "2020-12-16T00:15:08Z")

</div>

Это нужно сделать через консоль Rails, здесь есть пошаговая инструкция:

> [@Can an admin change a user's email address?](https://meta.discourse.org/t/can-an-admin-change-a-users-email-address/24525/24?u=awesomerobot):
>
> If you have access to the site’s rails console, you can change email addresses without triggering a confirmation email. Enter the docker container and then launch the rails console: ./launcher enter app rails c Then find the user from their current email address: u = User.find\_by\_email('oldemail@example.com') Then update the email address: u.update(email: 'newemail@example.com') EDIT: After updating the user’s email address though the command line, go to the Admin / Users page for the …

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [16.Декабрь.2020 00:36:13 UTC](https://meta.discourse.org/t/how-to-change-user-email-if-email-account-has-been-deleted/173434/3 "2020-12-16T00:36:13Z")

</div>

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

---

<div class="post-metadata">

### Author: ![Andro](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/andro/32/173721_2.png) [@Andro](https://meta.discourse.org/u/Andro)
#### Post date: [16.Декабрь.2020 00:59:35 UTC](https://meta.discourse.org/t/how-to-change-user-email-if-email-account-has-been-deleted/173434/4 "2020-12-16T00:59:35Z")

</div>

@awesomerobot большое спасибо. Работает отлично.

Только одно уточнение: нужны две отдельные команды:

# ./launcher enter app  
# rails c

В посте они были объединены, что меня немного запутало.

---

<div class="post-metadata">

### Author: ![neounix](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/neounix/32/215617_2.png) [@neounix](https://meta.discourse.org/u/neounix)
#### Post date: [16.Декабрь.2020 03:21:17 UTC](https://meta.discourse.org/t/how-to-change-user-email-if-email-account-has-been-deleted/173434/5 "2020-12-16T03:21:17Z")

</div>

> [@Andro](#):
>
> Нужно всего одно исправление: вам требуются две отдельные команды:

Или же это можно сделать в одну строку следующим образом:

```plaintext
docker exec -it app rails c

```

Так я обычно запускаю консоль Rails, когда нужно быстро выполнить запрос или проверить какой-либо объект и т. д.

Чтобы упростить задачу, я настроил на своей системе следующее алиас (за исключением того, что название `app` у нас другое):

```plaintext
alias railsc='docker exec -it app rails c'

```

Таким образом, мы можем легко войти в консоль Rails, просто введя `railsc` в командной строке вне контейнера.

```plaintext
ubuntu:/home/neo# railsc
[1] pry(main)> User.count
=> 139160
[2] pry(main)> Topic.count
=> 380629
[3] pry(main)> Post.count
=> 1034861
[4] pry(main)> SiteSetting.count
=> 157
[5] pry(main)> SiteSetting.force_https
=> true

```

Не забудьте изменить имя в настройках алиаса, чтобы оно соответствовало названию вашего контейнера.

Надеюсь, это поможет.
