Impossibile integrare con SendGrid

Ciao,

Sto cercando di utilizzare il servizio email Sendgrid e continuo a ricevere questo errore nei log:

Eccezione del job: 535 Autenticazione fallita: nome utente o password errati

Non sono sicuro di cosa stia sbagliando, ecco com’è configurato il mio sistema:

 DISCOURSE_SMTP_ADDRESS: smtp.sendgrid.net
 DISCOURSE_SMTP_PORT: 587
 DISCOURSE_SMTP_USER_NAME: apiKey
 DISCOURSE_SMTP_PASSWORD: 'SG.xxxx.xxxxxx.xxxx'

Ho anche provato a utilizzare la porta 2525 su suggerimento di Fresh install. Works. Sendgrid not sending emails - #5 by Ham, ma non ha funzionato.

Riesco a stabilire una connessione utilizzando telnet.

Qualcuno può aiutarmi? Avete idea di cosa potrei stare sbagliando?

Dallo stesso server su cui è ospitato il tuo Discourse?

Scusa se è una domanda stupida, ma il tuo nome utente SendGrid è davvero apiKey?

:thinking:

Te lo chiedo solo perché è una scelta insolita per un nome account…

No, non credo che in SendGrid esista il concetto di nome utente. Ho semplicemente seguito la documentazione qui: discourse/docs/INSTALL-email.md at main · discourse/discourse · GitHub

Potrei anche sbagliarmi, ma non vedo alcuna informazione sul nome utente nel mio account SendGrid.

Usano una terminologia diversa, ma ti stai comunque connettendo a ciò che è essenzialmente un server SMTP standard, che richiederà l’autenticazione.

Vai alla sezione Teammates - https://app.sendgrid.com/settings/teammates

Lì vedrai i dettagli dell’account abilitati all’invio di email:

Il valore nella colonna “Username” è quello che devi inserire nell’impostazione di Discourse DISCOURSE_SMTP_USER_NAME.

Quindi, se il “Username” fosse SK2019, avresti qualcosa del genere:

DISCOURSE_SMTP_ADDRESS: smtp.sendgrid.net
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: SK2019
DISCOURSE_SMTP_PASSWORD: 'xxxx.xxxxxx.xxxx'

Ho provato ma non ha funzionato. La documentazione di Sendgrid indica di utilizzare apiKey come nome utente, ma sembra che non funzioni.

Forse dovrei contattare il team di Sendgrid e chiedere il loro aiuto.

Hai usato apiKey quando hai utilizzato telnet?

Sì, ho seguito le istruzioni su How to send an Email with SMTP | SendGrid Docs | Twilio e hanno funzionato! Non sono sicuro di cosa mi stia sfuggendo nella configurazione di Discourse.

Le quattro righe nel tuo file di configurazione assomigliano alle mie (sopra)?

Con il corretto DISCOURSE_SMTP_USER_NAME che corrisponde a quello visualizzato nella tua pagina Teammates su SendGrid?

Sì, il nome utente è quello visualizzato nella pagina Teammates, la password è la chiave che ho generato (telnet funziona con questa chiave) e gli altri due campi sono esattamente gli stessi.

Posso sapere quale versione di Discourse stai utilizzando? Sto usando la versione beta e sospetto che possa essere questo il problema.

Comunque, ho intenzione di passare a Mailgun. L’ho provato oggi e funziona perfettamente (anche se è costoso, ma al momento non ho altre opzioni).

A titolo informativo @Satwik_Kansal, il nome utente dell’API Sendgrid è “apikey” – non “apiKey”. Funziona perfettamente.

Ho lo stesso problema. Qual è il riassunto? Usare “apikey” (non funziona) o aggiungere un membro del team (è vuoto)?

Per la cronaca, la documentazione rende tutto piuttosto confuso e non è la prima volta che mi trovo a cercare su Google proprio questo problema per trovare la soluzione.

Attualmente la documentazione riporta:

SendGrid — 40k email in una prova di 30 giorni

SMTP server address? smtp.sendgrid.net
SMTP user name?      apikey
SMTP password?       [SendGrid API Key]

AGGIORNAMENTO: Ciò che credo confonda le persone è che loro (come me) pensano che “apikey” significhi inserire qui la propria chiave API, mentre in realtà dovrebbe rimanere invariata!

Pazzesco, vero?

Immagino che questo abbia messo in difficoltà il 99% di coloro che ci hanno provato :confused:

(me incluso, all’epoca)