Tentativo di validazione con Mailjet: serve un file TXT o una voce DNS

Ok, quindi sto usando Mailjet per SMTP e ho un problema con la validazione. Innanzitutto, non riesco a validare facilmente l’indirizzo email individuale noreply@discourse.example.com.

Preferirei validare il dominio discourse.example.com, ma qui incontro due problemi. Potrei farlo con un file di testo dal nome speciale, ma sembra che Discourse non lo consenta (anche se a questo punto sono abbastanza tentato di configurare il file nginx.conf per restituire qualcosa per quell’URL). Va bene, forse il file TXT DNS? E qui incontro difficoltà perché amministro il DNS del dominio example.com e mi stanno chiedendo di inserire una voce per essenzialmente mailjet.discourse.example.com, che è un sottodominio, e non sono chiaro su come inserirlo. Sto eseguendo BIND 9.3 circa su Ubuntu 16.04 e alcune indicazioni sarebbero utili? Riesco a trovare informazioni su come aggiungere una voce TXT per discourse.example.com, ma Mailjet dice “dimenticatevelo”, deve essere mailjet_xxxxx.discourse.example.com, cioè un sottodominio, il che penso significhi zone aggiuntive. Non sono un mago del DNS, anche se sono abbastanza bravo a installare cose complesse.

Ma al momento sono così confuso dopo aver provato di tutto, quindi… aiuto? Voglio dire, la migliore notizia possibile sarebbe che qualcuno dica: “Certo, puoi mettere un file di testo nella directory radice di Discourse così…” :frowning:

Sei a conoscenza del tuo registrar di dominio o del gestore DNS?

Dovrai creare la voce DNS nel gestore DNS fornito dal registrar o, se utilizzi qualcosa come Cloudflare, dovrai creare i record DNS lì.

Ho avuto recentemente questo problema. Ecco cosa l’ha risolto:

OK, ho appena fatto funzionare il metodo di validazione TXT, anche con le “restrizioni” di Discourse. Quindi, se vuoi farlo per evitare di smanettare con le impostazioni DNS (che, eeeeeeeeee… per me sono molto più spaventose rispetto al modificare un server web, anche se naturalmente l’esperienza può variare da persona a persona).

Dovrai essere in grado di modificare il file di configurazione di nginx per la tua installazione di Discourse. Dove si trova esattamente dipende da dove (e con cosa) hai installato Discourse. Nel mio caso, ho fatto un’installazione baremetal senza Docker. Io lo trovo in /etc/nginx/conf.d/discourse.conf – la tua esperienza può variare.

In quel file troverai un blocco location come questo:

 location / {
     ....
 }

dove ci saranno anche diverse direttive location annidate internamente.

Creane uno nuovo, annidato anche qui (ma non annidato in nessun’altra location!)

location /stupidfilename.txt {
   alias /var/www/stupidfilename.txt;
}

dove stupidfilename.txt è il nome speciale del file che ti chiedono di aggiungere, e dove il PERCORSO (/var/www) si trova fuori dai file di Discourse ma è accessibile per gli URL in generale sul server. Ciò che rende tutto questo funzionante è che / è la radice per Discourse, quindi l’URL sembrerà essere sotto il tuo Discourse all’indirizzo http://discourse.esempio.com/stupidfilename.txt (spazi aggiunti per disabilitare il collegamento errato).

Quindi… posiziona il file fuori da Discourse, configura la location per fare alias ad esso e riavvia nginx.

Ecco fatto…

(Sono tornato indietro e ho modificato questa risposta per migliorarne la leggibilità, ecc., dato che l’ho segnata come mia soluzione)

Creare un record TXT è una passeggiata rispetto a creare un file in Docker accessibile pubblicamente.