Здравствуйте! Я впервые пытаюсь установить Discourse на Linux VPS от DigitalOcean. Этот VPS работает с несколькими сайтами через Nginx, и я следовал руководству по установке Discourse на нескольких сайтах здесь: Run other websites on the same machine as Discourse - #182 by angus
Discourse установился и работал нормально. Но когда я создаю учётную запись администратора, я никогда не получаю письмо. Я следовал этому руководству: crunchify[dot]com/how-to-setup-email-for-discourse-forum-with-google-apps-smtp-relay-right-way/
Мой сервер использует postfix для пересылки писем через Google G Suite, и это работает нормально с WordPress и MyBB. Однако в приведённом выше руководстве не упоминается postfix, и я предполагаю, что оно предполагает прямое подключение к Google G Suite.
Я также следовал этому руководству по устранению проблем с электронной почтой: meta.discourse[dot]org/t/troubleshooting-email-on-a-new-discourse-install/16326
Я могу подключиться к SMTP-ретранслятору через telnet:
$ sudo telnet smtp-relay.gmail.com 587
Trying 2607:f8b0:400d:c04::1c...
Connected to smtp-relay.gmail.com.
Escape character is '^]'.
220 smtp-relay.gmail.com ESMTP n18sm708840ooi.26 - gsmtp
В продакшн-логе написано:
Rendering layouts/email_template.html.erb
Rendered layouts/email_template.html.erb (Duration: 0.1ms | Allocations: 32)
Delivered mail cf23dab4-3e43-421e-8e54-228489c58874@forums.neuronootropic.org (610.1ms)
Job exception: end of file reached
Rendering layouts/email_template.html.erb
Rendered layouts/email_template.html.erb (Duration: 0.2ms | Allocations: 32)
Delivered mail a092f703-b590-4792-bd73-d9e4700c3e3c@forums.neuronootropic.org (261.1ms)
Job exception: end of file reached
Я попытался изменить адрес электронной почты в файле конфигурации app.yml на noreply@forums.neuronootropic.org, так как знаю, что этот адрес работает, но результат тот же. Письма всё ещё отправляются с такими номерами, я предполагаю, что это какой-то вид шифрования? Они никогда не попадают в мой почтовый ящик.
Моя другая проблема связана с nginx. Вчера всё работало нормально, но сегодня я экспериментировал с файлом конфигурации app.yml и изменил URL так, чтобы форум размещался в подкаталоге, а не в поддомене.
Я хотел проверить, не является ли поддомен причиной проблем с отправкой писем, так как мой текущий форум MyBB работает в подкаталоге и не имеет проблем с электронной почтой.
Это действие, похоже, сломало nginx. По какой-то причине nginx теперь пытается загрузить SSL-сертификат из директории Discourse, хотя в моём файле конфигурации nginx это не указано. Вот ошибка:
$ sudo nginx -t
nginx: [emerg] BIO_new_file("/var/discourse/shared/standalone/ssl/ssl.crt") failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/var/discourse/shared/standalone/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)
nginx: configuration file /etc/nginx/nginx.conf test failed
Я использую Let’s Encrypt для SSL-сертификата, и он работает нормально. У nginx не было проблем вчера до того, как я попытался запустить Discourse в подкаталоге вместо поддомена.
Буду благодарен за любую помощь.