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

Меня помог сертифицированный специалист поддержки Discourse перенести нас на новый сервер Discourse, и после этого автоматические письма перестали отправляться. Я проверил лог ошибок, и в нём было указано обратиться в Sendingblue для активации SMTP, что я и сделал (они активировали его):

Однако это всё ещё не работало, и я обнаружил, что в разделе admin/settings/emails вместо моего адреса был указан адрес электронной почты специалиста поддержки Discourse:

Я пытался связаться с этим специалистом почти две недели, но он не отвечает на письма, и я не могу дозвониться до него ни на одной из его платформ. Как мне заменить его адрес электронной почты на свой?

Большое спасибо!
Вес

Если у вас стандартная установка, этот адрес указан в файле app.yml. Вы можете либо отредактировать app.yml напрямую, либо снова запустить ./discourse-setup, чтобы ввести правильные данные SMTP. У вашего почтового провайдера должны быть указаны необходимые имя пользователя и пароль. :+1:

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

Спасибо за ответ, Jammy! У меня в консоли нет файла app.yml, так что, похоже, мне придётся запустить discourse-setup. Я совсем не технический специалист, поэтому заранее извиняюсь за любые глупые вопросы. Но я хочу убедиться, что ничего не сломаю.

Если я запущу discourse-setup, как вы и посоветовали, создаст ли это совершенно новую установку или просто изменит настройки SMTP? Я не могу вручную создать резервную копию Discourse, потому что функция отправки электронной почты не работает. Так что, как вы думаете, стоит ли мне делать это без предварительного резервного копирования Discourse?

Если Jammy недоступен, пожалуйста, не стесняйтесь ответить, любой…

Я вас полностью понимаю. :slightly_smiling_face: Действительно, работа с бэкендом может вызывать больше волнения, чем работа с админ-панелью.

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

Если у вас есть доступ к серверу, я считаю, что более безопасный вариант — снова запустить ./discourse-setup, так как вы с меньшей вероятностью допустите опечатку вне вводимых вами данных. Это не создаст дубликаты ваших работающих экземпляров, и его можно запускать несколько раз. :+1:

Вы также можете обратиться к руководству Troubleshoot email on a new Discourse install для получения дополнительной информации.

Кроме того, если хотите проявить осторожность, вы можете создать резервную копию из командной строки.

Хотите ли вы ознакомиться с этими материалами и, возможно, задать вопросы, прежде чем приступать к действиям?

Спасибо, Джамми. Я вернусь. Сейчас другой сотрудник технической поддержки занимается этим вопросом. Я посмотрю, что он сможет сделать. В любом случае я вернусь сюда. Благодарю за вашу помощь!

Я никогда этого не делал, так что, пожалуйста, будьте ко мне снисходительны. Я пытаюсь сделать резервную копию всего с помощью ссылки, которую вы мне дали: Backup discourse from the command line .

Итак, сейчас я нахожусь в ./launcher (см. фото).

Вот что сказано в ссылке выше:

Войдите в контейнер:

./launcher enter app

Запустите резервное копирование:

discourse backup
exit

Это выведет итоговое имя файла вашей резервной копии. Загрузите резервную копию и конфигурацию контейнера (если необходимо) на свой локальный компьютер:

scp root@69.55.54.86:/var/discourse/shared/standalone/backups/default/the-wes-penre-discussion-board-2022-03-15-152304-v20220228163400.tar.gz	 .
scp root@69.55.54.86:/var/discourse/containers/app.yml .

Я не имею ни малейшего представления, как это сделать. У меня открыто окно launcher. Что мне делать дальше? Где и как запустить резервное копирование и т.д.?

Боюсь, я не знаком с WinSCP. Я скачал и настроил его, но смогу внимательно изучить его только позже.

Если вы можете подключиться к серверу по SSH через что-то вроде Windows PowerShell или даже через опцию «access console», если вы используете Digital Ocean, то я, вероятно, смогу помочь вам быстрее. :slightly_smiling_face:

Да, у меня есть доступ к опции консоли в Digital Ocean (далее — DO). При запуске консоли droplet появляется сообщение…

Отлично. :slightly_smiling_face::+1:

Откройте консоль Droplet

Затем выполните cd /var/discourse.

После этого введите ./launcher enter app (подождите секунду)

Затем discourse backup (это тоже может занять немного времени, чтобы запуститься)

И, наконец, exit, когда всё завершится


Думаю, инструкции по многим из этих вещей станут понятнее, теперь что вы работали через консоль, а не через WinSCP. :crossed_fingers:

Это кажется намного проще! Всё шло хорошо, пока я не ввёл discourse backup. Появилось сообщение: «команда не найдена».

Я вводил это с пробелом между discourse и backup.

Мне следовало сделать так:

Кажется, у меня нет файла data.yml.

Ага, похоже, у вас настройка с двумя контейнерами.

Давайте я просто перепроверю, какой из них нужно изменить.

Вы хотите выполнить следующее:

cd /var/discourse
./launcher enter web_only
discourse  backup

Когда вы будете получать данные через WinSCP, ищите их в /var/discourse/shared/web-only/backups/defau/t (если только это не web_only, но, кажется, там стоит дефис).

В какой-то момент вам потребуется пересобрать контейнер с данными следующим образом:

./launcher rebuild data
./launcher bootstrap web_only && launcher destroy web_only; ./launcher start web_only

(Если вы не обновляли контейнер через docker_manager из веб-интерфейса, вы можете заменить rebuild на stop, но в большинстве случаев запуск bootstrap не повредит.

Пересборка также гарантирует, что вы находитесь на ветке main, а не master, и выполнит git pull.

Это великолепно. Спасибо @pfaffman :+1::slightly_smiling_face: Боюсь, у меня пока нет практического опыта работы с двухконтейнерной настройкой, поэтому видеть, как ваш аватар что-то печатает внизу, действительно успокоило. :slightly_smiling_face:

Является ли запуск ./discourse-setup --two-container альтернативой для двухконтейнерной настройки? Я не был уверен, можно ли запускать эту команду несколько раз, как обычную.

И если нет, то это ли способ обновить данные SMTP?

cd /var/discourse 
nano containers/web_only.yml

Нет. Однако, если вы запустите discourse-setup после установки, он обнаружит наличие контейнера web_only и выполнит правильные действия :tm:. (Если у вас есть и app, и web_only, то один из них будет проигнорирован).

Вау! Действительно блестяще. Большое спасибо, Джей! Всё работает. Сейчас это загружается на мой компьютер. Это отличное решение, когда у меня не настроен SMTP для электронной почты.

Спасибо также, Джимми! Я узнал здесь что-то новое. Мне нужно изучать всё это понемногу, по одной вещи за раз. Discourse — такая замечательная программа, и она мне очень нравится! Мне просто нужно понять, что происходит под капотом. Мне ещё нужно разобраться, как изменить адрес электронной почты для SMTP, но я буду следовать инструкциям, которые получил до сих пор, и если у меня возникнут дополнительные вопросы, я вернусь сюда…

На случай, если это потерялось в переписке: теперь, когда у вас есть резервная копия, вы можете выполнить:

cd /var/discourse
./discourse-setup

И ввести данные SMTP в появившихся подсказках. :+1:

Просто запустите discourse-setup.