Digital Ocean, G Suite, SendGrid, Namecheap

Je rencontre de nombreuses difficultés pour configurer l’envoi d’e-mails avec mon nouveau serveur Discourse.

J’utilise DigitalOcean pour l’hébergement. Il ne semble y avoir aucun problème de ce côté-là. Le serveur est en cours d’exécution et je peux me connecter.

J’utilise G Suite comme adresse e-mail d’administration, mais pas pour gérer les e-mails du site.

J’utilise Namecheap pour le DNS et l’enregistrement de domaine.

J’utilise SendGrid comme fournisseur SMTP pour le site. J’ai essayé toutes les combinaisons de vérification possibles qui me viennent à l’esprit : en utilisant le domaine de premier niveau, en utilisant le sous-domaine, en supprimant les informations DNS fournies par SendGrid pour les saisir dans Namecheap, en ajoutant le domaine à une liste blanche G Suite (est-ce même nécessaire) ?

Je parviens à envoyer des e-mails. D’après les statistiques de SendGrid, des e-mails de test ont bien été envoyés depuis Discourse, mais ils ne sont jamais livrés. Les informations suivantes sont affichées dans le message d’erreur de SendGrid :

Reçu par gmail-smtp-in.l.google.com

Bloqué

Le serveur Gmail a bloqué la livraison de ce message. Bien que nous ne réessayions pas d’envoyer ce message, nous tenterons d’envoyer de nouveaux messages à cette adresse à l’avenir.

Vous pouvez consulter toutes les adresses dans votre [Blocages].
Réponse complète du serveur Gmail :

550 5.7.1 E-mail non authentifié provenant de do.c n’est pas accepté en raison de la politique DMARC 5.7.1 du domaine. Veuillez contacter l’administrateur du domaine do.c si cela provient d’un courrier légitime. Veuillez consulter 5.7.1 pour en savoir plus sur l’initiative DMARC. m55-v6si4266550qtc.214 - gsmtp

Cela réduit-il mon problème strictement à SendGrid et à la vérification du domaine, ou s’agit-il de quelque chose d’autre ? Dans les deux cas, SendGrid refuse de valider la configuration une fois que j’ai collé les informations qu’ils ont fournies dans la section DNS de Namecheap.

As it says, Your dmarc record is not correct.
You can find the correct dmarc value in sendgrid and that should be updated into your dns.
Please correct it or contact sendgrid for assistance.

Just by chance, is it a one-click install app from DO?

@itsbhanusharma, yes. I did the one-click Discourse setup. Everything went very smoothly up until the SMTP setup. I’ve put in a ticket with SendGrid and am waiting for their response.

What is the notification email in your discourse admin? I think that needs to be corrected.

It is currently set at noreply@unconfigured.discourse.org.

When going through the setup wizard I chose for the system to handle mail so the one G Suite account I have to accompany the site info@mydomain.com is not flooded with messages, if I’m even understanding it correctly.

It can’t be @unconfigured.discourse.org in any case.

Please change it to @(your-discourse-domain) or the domain that’s verified with sparkpost first. I hope that’ll fix it.

Also, you may have to tweak your smtp port as DO may be blocking common SMTP ports on your account.

@itsbhanusharma, I made your suggested changes and it worked, although the message did go to my spam folder and is still showing “via SendGrid”. I’m guessing the way to solve that is through domain verification with SendGrid and that will be between me and them.

Exactly. They should have provided you some DNS records to create. Those records take care of the whole verification process.

Great. Thanks so much for the help. Now I’m wondering if I need to go back and undo some of the things I did like whitelisting my G Suite account with SendGrid and stuff like that.

Not immediately, first step that I’d take is to make sure sendgrid is happy with my domain and then I’d test the quality of emails sent using mail-tester.com or similar service.

Once that’s all fixed then only I’d lax any whitelist

As it’s set up now, while going through all the various forums trying to troubleshoot my problem I followed one tutorial that had me go into my G Suite settings and whitelist Digital Ocean, not SendGrid like I said. Because that wasn’t related to my actual problem is it necessary anymore or could it cause any problems in the future?

It actually wasn’t even whitelisting. It was SMTP relay service where I added my droplet IP address.

While it won’t really cause any problems as long as you retain the IP it can possibly cause spam whitelist if you leave the IP and other owner is a notorious spammer.

So it’s okay to remove it. Also, DO is not sending emails from it’s own IP either. Those are sent from sendgrid.

Great. Thanks again for the help.

While I’m able to get emails delivered to people who register for the forum now (albeit in their spam folder), I now am having trouble sending admin emails. When I attempt to make a member of the forum and admin, I get the message saying to check my email. My single G suite email address is info@mydomain.com. SendGrid can never seem to send a message from info@mydomain.com to info@mydomain.com. This is quite a problem because I can’t make anyone else an admin because I can never finish the process. There error I get from SendGrid is:

The mydomain.com server blocked this message from being delivered. While we won’t try to send this message again, we will attempt to send new messages to this address in the future.

You can view all addresses in your Blocks suppression group. Learn more.

Full response from the mydomain.com server:

error dialing remote address: dial tcp 167.89.106.64:0->162.255.119.167:25: i/o timeout

You should check the mail debugging document. The problem is between sendgrid and your mail server that is refusing connections from sendgrid.

I’m using Namecheap, so I had set up all of my SendGrid information CNAME records, but in the “Mail Settings” portion of the Advanced DNS page I didn’t have anything selected. Once I selected Gmail everything began to work. I swear I’d thought I had read something about if you’re setting up SendGrid you don’t need anything the Mail Settings section. Things appear to be working now.