Hi,
I’m trying to use Sendgrid email service and keep getting this error in the logs
Job exception: 535 Authentication failed: Bad username / password
I’m not sure what I’m doing wrong, here’s how my configuration looks like
DISCOURSE_SMTP_ADDRESS: smtp.sendgrid.net
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: apiKey
DISCOURSE_SMTP_PASSWORD: 'SG.xxxx.xxxxxx.xxxx'
I’ve also tried to use port 2525 on the suggestion of Fresh install. Works. Sendgrid not sending emails , but that didn’t work either.
I’m able to establish a connection using telnet.
Can someone please help? Any idea what I could be doing wrong?
Richie
(Richie Rich)
Septembre 3, 2019, 8:58
2
From the same server that your Discourse is on?
Apologies if this is a silly question but is your SendGrid username actually: apiKey
I only ask, as it’s an unusual choice of account name…
Yes
No, I don’t think there’s a concept of username in sendgrid, I just followed the documentation here discourse/docs/INSTALL-email.md at main · discourse/discourse · GitHub
I might be wrong also, but I don’t see any username info in my sendgrid account.
Richie
(Richie Rich)
Septembre 4, 2019, 8:16
4
They use different terminology but you’re still connecting to what is essentially a standard SMTP server, which will require authentication.
Go to the Teammates section - https://app.sendgrid.com/settings/teammates
In there you will see the account details that are able to send email:
The value in the “Username” column is what you need to enter in the Discourse setting DISCOURSE_SMTP_USER_NAME
So if the “Username” was SK2019 then you’d have something like:
DISCOURSE_SMTP_ADDRESS: smtp.sendgrid.net
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: SK2019
DISCOURSE_SMTP_PASSWORD: 'xxxx.xxxxxx.xxxx'
3 « J'aime »
I tried that but didn’t work. The Sendgrid docs mention to use apiKey as username, but that doesn’t seem to be working.
Maybe I should reach out to the sendgrid team and seek their help.
Richie
(Richie Rich)
Septembre 6, 2019, 7:47
6
Did you use apiKey when using telnet?
Yes, I followed instructions at How to Send an SMTP Email | SendGrid Documentation and they worked! Not sure what am I missing in discourse configuration.
Richie
(Richie Rich)
Septembre 7, 2019, 7:55
8
Do the four lines in your config file look like mine (above )?
With the correct DISCOURSE_SMTP_USER_NAME that matches the one displayed in your Teammates page on SendGrid?
Yes, the username is the one displayed in the the Teammates page, the password is the key I generated (telnet works using this key), and other two fields are exactly the same.
May I know what version of discourse are you using, I’m using beta, I suspect that could be the issue.
Anyways, I’m planning to switching to mailgun, I tried it today, and it works seamlessly (though it’s expensive, but have no other options atm)
2 « J'aime »
Pour information @Satwik_Kansal , notre nom d’utilisateur pour l’API Sendgrid est “apikey” et non “apiKey”. Tout fonctionne parfaitement.
ivan12
(IvanS)
Septembre 27, 2020, 8:32
11
Je rencontre le même problème. Quel est le résumé ici ? Utiliser “apikey” (ne fonctionne pas) ou ajouter un membre de l’équipe (c’est vide) ?
misterjtc
(Jordan Cook)
Octobre 8, 2020, 3:13
12
Pour la petite histoire, la documentation rend cela assez confus, et ce n’est pas la première fois que je me retrouve à chercher cette même question sur Google pour trouver la solution.
La documentation indique actuellement :
SendGrid — 40 000 e-mails sur un essai de 30 jours
Adresse du serveur SMTP ? smtp.sendgrid.net
Nom d'utilisateur SMTP ? apikey
Mot de passe SMTP ? [Clé API SendGrid]
MODIFICATION : Ce qui, je pense, prête à confusion, c’est que les gens (comme moi) pensent que “apikey” signifie qu’il faut y mettre leur clé API, alors qu’en réalité, il ne faut pas le toucher !
4 « J'aime »
Richie
(Richie Rich)
Octobre 15, 2020, 8:11
13
misterjtc:
Ce qui, selon moi, prête à confusion, c’est que les gens (comme moi) pensent que “apikey” signifie « insérez votre clé API ici ».
C’est fou, n’est-ce pas ?
J’imagine que cela a décontenancé 99 % des personnes qui ont essayé
(moi y compris à l’époque)
1 « J'aime »