Это не ошибка. Discourse требует того, что требуется, и если необходимые ресурсы недоступны, его установка невозможна.
Скорее всего, здесь требуется «перекалибровка»: нам нужно адаптироваться к новой, более дорогой реальности развертывания установок Discourse.
Если вы хотите сэкономить, вам придется выполнить довольно технические действия из командной строки, чтобы настроить вашу среду и обеспечить корректную установку Discourse на более дешевых вариантах Droplet.
Я последовал вашей рекомендации и успешно установил Discourse на Droplet за $6.
Однако сейчас моя главная проблема в том, что мне не удаётся правильно настроить Mailjet, и из-за этого я не могу пройти этап «Подтвердите ваш адрес электронной почты» в процессе настройки.
Есть ли способ обойти это, пока я не смогу успешно настроить Mailjet? Или мне сначала нужно разобраться с настройками Mailjet?
(Моя проблема в том, что у меня нет возможности увидеть, ПОЧЕМУ настройка Mailjet не работает. Я добавил SPF/DKIM и всё остальное, но всё равно ничего не получается. Очевидно, что что-то настроено неверно, но у меня нет никаких указаний на то, что именно.)
Я не использую адрес отправителя в Mailjet. Вместо этого я использую домен отправителя (что позволяет использовать несуществующие адреса, например, noreply@mydomain.com).
Я не могу использовать адрес отправителя, поскольку технически на этом домене не существует почтовых ящиков (потому что я не могу разумно настроить это в DigitalOcean).
Если бы я стал использовать адрес отправителя, он бы не совпадал с доменом и, следовательно, не подошел бы для транзакционных писем от Discourse (или WordPress).
Дополнительный вопрос: Нужно ли мне добавлять мой поддомен — forum.mydomain.com — как домен отправителя (отдельно от корневого домена)?
Я не понимаю этот комментарий. (Хотя я пытаюсь, так что, пожалуйста, потерпите меня!)
Мне удалось выполнить шаг 3, открыв соединение с моим SMTP-сервером, поэтому я предполагаю, что всё может быть настроено правильно…
Но этот момент мне неясен:
Нужен ли мне адрес отправителя? Он будет отличаться от моего домена, поэтому я не вижу, как это связано с моей проблемой транзакционной электронной почты. Я настроил Discourse на использование noreply@mydomain.com (или, возможно, noreply@forum.mydomain.com, мне нужно будет проверить), так что это должно быть покрыто доменом отправителя, по крайней мере, насколько я понимаю эти сущности.
(И когда я говорю об адресе отправителя или домене отправителя, я имею в виду эти значения, определённые в бэкенде Mailjet, а НЕ в Discourse.)
У меня определены как домены, так и конкретные адреса отправителей. Это было несколько месяцев назад, когда я настраивал систему, но, кажется, я помню проблему, возникшую при определении только домена отправителя. Как только я смог подтвердить конкретные адреса отправителей, всё заработало отлично.
Если вы отправляете электронную почту, то в строке «from:» должен быть указан адрес. Убедитесь, что адрес, который Discourse вставляет туда, является тем, для которого ваш почтовый сервер будет доставлять почту.
Это зависит от того, хотите ли вы отправлять письма с псевдонимами корневого домена или поддомена.
Это не имеет ничего общего с DNS-адресом, по которому размещён форум. Домен в поле адреса отправителя должен совпадать с доменом, настроенным в Mailjet.
Но если я не могу создать новый адрес электронной почты (например, x@mydomain.com), то как я вообще смогу завершить настройку?
Я могу использовать адрес электронной почты без привязки к домену, но Discourse будет отправлять транзакционные письма только с адресов, привязанных к домену (если мое понимание ситуации верно).
Для ясности: я действительно указал адрес электронной почты, привязанный к домену, как отправителя (в настройках Discourse, а именно в файле app.yml или аналогичном), но [1] я не добавил его как адрес отправителя в Mailjet, поскольку, насколько я понимаю, адреса отправителей предназначены для любых адресов, которые НЕ принадлежат к тому же домену, и [2] я не могу создать адрес электронной почты, привязанный к домену, потому что у меня не запущен почтовый сервер (вся суть Mailjet, насколько я понимаю, заключается в том, чтобы избежать необходимости настраивать и запускать собственный почтовый сервер, что было бы крайне ненадежно с точки зрения доставки).
Я не совсем понял, в чём заключается ваш основной текущий вопрос, но я не согласен с утверждением, что адреса отправителей предназначены только для адресов, не принадлежащих тому же домену. Я настраивал адреса отправителей с тем же доменом, на котором размещён сайт Discourse, и который также может обрабатывать входящую почту, но это было сделано на другой платформе, а не в Mailjet.
Возвращаясь к вашему вопросу к Джей: если вы не можете определить новый адрес, как вы сможете когда-либо завершить «это», а именно: «Вам нужно убедиться, что адрес, указанный в Discourse как адрес отправителя, является тем, для которого ваш почтовый сервер будет доставлять почту».
Похоже, что ответ на это будет таким: вы не сможете.
Оказалось, что вся моя информация была верной, но адрес электронной почты администратора, который принадлежит другому домену и которым я не управляю, не получал письма в течение многих часов после их отправки.
(Когда я добавил свой адрес электронной почты в список адресов администраторов, письмо для подтверждения пришло сразу.)
Единственное, что мне действительно пришлось сделать, чтобы транзакционные письма от Discourse начали работать, — это добавить второй домен отправителя (поддомен) и соответствующие ему DNS-записи.