Quali sono le impostazioni corrette da passare a ./discourse-setup per connettersi a un server SMTP su localhost:25 senza autenticazione?
Sono molto sorpreso che questo non sia supportato OOTB; è la configurazione predefinita sulla maggior parte delle installazioni Linux.
Il mio server esegue localmente Postfix; non è accessibile da Internet. Funziona perfettamente, ad esempio, quando si esegue il comando mail. Ho trovato alcune guide non ufficiali su Internet che suggerivano modifiche a /var/discourse/containers/app.yml, e alla fine sono riuscito a installarlo e avviarlo con le seguenti impostazioni:
DISCOURSE_SMTP_ADDRESS: localhost
DISCOURSE_SMTP_PORT: 25
DISCOURSE_SMTP_USER_NAME: discourse@opensouceecology.org
DISCOURSE_SMTP_PASSWORD: "none"
DISCOURSE_SMTP_AUTHENTICATION: none
DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none
DISCOURSE_SMTP_ENABLE_START_TLS: false
Nota che se ometto le variabili DISCOURSE_SMTP_USER_NAME o DISCOURSE_SMTP_PASSWORD, lo script di installazione mi fa una scenata dicendo che sono richieste (bug?).
Ora, quando clicco sul pulsante “Invia di nuovo l’email di attivazione” nell’interfaccia web di Discourse, questa voce appare nel file di log (/var/discourse/shared/standalone/log/rails/production.log):
Started PUT "/finish-installation/resend-email" for 127.0.0.1 at 2019-11-07 13:15:31 +0000
Processing by FinishInstallationController#resend_email as HTML
Parameters: {"authenticity_token"=>"SzQCvRWiqdXsBKzOjIB0X7KkvXro7Od6SdP8Qa8vvrskPeNYZNos5ORHJfyDUrHiKShZR/txM6NHuqHHCQCR1w=="}
Rendering finish_installation/resend_email.html.erb within layouts/finish_installation
Rendered finish_installation/resend_email.html.erb within layouts/finish_installation (Duration: 0.7ms | Allocations: 103)
Rendered layouts/_head.html.erb (Duration: 0.5ms | Allocations: 103)
Completed 200 OK in 98ms (Views: 3.0ms | ActiveRecord: 0.0ms | Allocations: 4763)
Rendering layouts/email_template.html.erb
Rendered layouts/email_template.html.erb (Duration: 0.5ms | Allocations: 141)
Delivered mail c4ca58ca-345e-46c4-81bc-6d0eac7afa04@discourse.opensourceecology.org (11.3ms)
Job exception: wrong authentication type none
…Ma il mio tipo di autenticazione è ‘none’. Qual è l’impostazione corretta per nessuna autenticazione?
EDIT: inoltre, qualcuno può linkarmi la documentazione che definisce tutte le possibili variabili “DISCOURSE_SMTP_*” e tutti i loro valori validi?
EDIT2: questo si sta rivelando molto più difficile di quanto dovrebbe essere. Penso che ‘localhost’ si risolva all’interno del container Docker di Discourse nel container Docker di Discourse stesso (app) – non nell’host Docker che esegue il mio server SMTP Postfix. Ciò è ulteriormente complicato da mynetworks di Postfix e da iptables (configurati dallo script discourse-setup o dai suoi script figli). Qual è la configurazione corretta per far sì che Discourse utilizzi semplicemente il server SMTP su cui voglio eseguire Discourse, senza autenticazione SMTP?