Problemen met het verzenden van e-mail via Namecheap Private Email (SMTP) op zelf-gehoste Discourse

Hallo allemaal,

Ik heb geprobeerd om uitgaande e-mail te configureren op een zelf-gehoste Discourse-installatie, maar tot nu toe zonder succes. Zelfs met ondersteuning van Namecheap erbij konden we het niet werkend krijgen. Ik hoop dat iemand hier kan aangeven wat ik mis.

Configuratie

  • Hosting: DigitalOcean droplet, Discourse geïnstalleerd via de officiële Docker-methode (/var/discourse).

  • Domein: Beheerd via Cloudflare (doorgestuurde A-records voor de site, alleen-DNS voor MX/mail-records).

  • E-mailprovider: Namecheap Private Email.

  • Discourse-versie: Laatste tests-geslaagde branch.

Wat werkt

  • Ik kan e-mail ontvangen op mijn hello@domain.com inbox zonder problemen.

  • MX-, SPF-, DKIM- en DMARC-DNS-records zijn ingesteld en gevalideerd.

  • Inkomende e-mail via Gmail → hello@domain.com werkt.

Wat faalt

  • Uitgaande (activerings-e-mails, test-e-mails van Discourse) komen nooit aan.

  • Namecheap-ondersteuning bevestigde dat mijn inloggegevens en instellingen correct zijn, maar kon niet verklaren waarom het vanaf de server faalt.

Huidige app.yml-configuratie

DISCOURSE_SMTP_ADDRESS: mail dot privateemail dot com
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: hello at domain dot com
DISCOURSE_SMTP_PASSWORD: “PASSWORD”
DISCOURSE_SMTP_ENABLE_START_TLS: true
DISCOURSE_SMTP_DOMAIN: domain dot com
DISCOURSE_NOTIFICATION_EMAIL: hello at domain dot com DISCOURSE_SMTP_AUTHENTICATION: login

Ik heb ook poort 465 geprobeerd met:

DISCOURSE_SMTP_PORT: 465
DISCOURSE_SMTP_ENABLE_START_TLS: false
DISCOURSE_SMTP_SSL: true

Debug-stappen ondernomen

  • DNS-records in Cloudflare geverifieerd als correct (MX, SPF, DKIM, DMARC).

  • Bevestigd dat poorten 587 en 465 niet lokaal worden geblokkeerd door UFW/iptables.

  • Geprobeerd IPv4-voorkeur te forceren in /etc/gai.conf.

  • Getest met nc en openssl → nog steeds time-out.

  • Zelfs de eigen instructies van Namecheap (587 STARTTLS of 465 SSL) resulteren in een storing vanaf de server.

Vraag

Heeft iemand Namecheap Private Email succesvol geconfigureerd met Discourse SMTP?

  • Is er een bekend probleem met DigitalOcean droplets die mail.privateemail.com bereiken op 587/465?

  • Moet ik stoppen met Namecheap SMTP en in plaats daarvan een transactionele e-mailservice (Postmark, Mailgun, SendGrid) gebruiken?

  • Is er een speciale app.yml-vlag nodig voor deze provider?

Alvast bedankt voor elke hulp. Ik loop vast met deze configuratie.

You should use a transaction mail service like Mailgun, Brevo or Amazon SES. That’s the optimal way to send emails from your forum.

See discourse/docs/INSTALL-email.md at main · discourse/discourse · GitHub

You may also want to check out:

1 like

Wat is het foutbericht?

Blokkeert DigitalOcean uitgaande e-mail, zoals velen hebben gemeld?

Heb je poort 2525 geprobeerd?

1 like

Thank you guys for the replies I appreciate it very much.

@pfaffman I am not aware that Digital Ocean is blocking outgoing mail. No i have not tried 2525.

After searching for it I stumbled upon an article they block all outgoing mails Why is SMTP blocked? | DigitalOcean Documentation

I did a little test with:

nc -vz ``smtp.mailgun.org`` 2525 and passed the test. 587 and 465 failed.

I opened a ticked with the request to open these ports.

If they won’t open it I need to look into mailgun, I hope this is free.

if you contact their support for account activation, after change to the plan type setting, you should be fine on a free plan

I always thought of this being very similar to BT mail or Gmail, not suitable for Discourse though.

You could do POP3 polling for receiving mail, but because you have an x86 VPS i’d recommend mail-receiver

1 like

Digital Ocean heeft geantwoord en op hun e-mail gereageerd:

"We onderzoeken graag de mogelijkheid door ons beveiligingsteam de SMTP-poorten voor u te laten bekijken om ze te deblokkeren. Om ons te helpen uw behoeften beter te begrijpen en verder te gaan met uw verzoek, kunt u alstublieft de volgende details over uw zakelijke vereisten delen:

  • Wat voor soort e-mails gaat u verzenden (bijv. transactionele e-mails, nieuwsbrieven, etc.)?

  • Bent u van plan uw eigen e-mail te hosten of gebruik te maken van een externe verzendservice?

  • Geef indien mogelijk context over uw poortvereisten en of niet-standaard poorten of een API niet kunnen worden gebruikt.

Zodra we van u horen, sturen we uw verzoek door naar het team met alle verstrekte details."

In dat geval zou je moeten overschakelen op het gebruik van een transactionele e-maildienst zoals Mailgun (100 e-mails gratis per dag) of Brevo (300 e-mails gratis per dag). Vervolgens kun je overschakelen op het gebruik van poort 2525 in je app.yml-bestand, aangezien die niet geblokkeerd is.

2 likes

Groeten van DigitalOcean Support!

We begrijpen dat u een applicatievereiste of zakelijke behoefte heeft om poort 25, 465 en 587 in te schakelen. Vanwege ons huidige beleid kunnen we echter geen verzoeken faciliteren om de beperking op deze poort op te heffen.

We raden aan om alternatieve poorten te gebruiken als uw applicatie dit toestaat, zoals poort 2525. U kunt ook de REST API met SendGrid gebruiken, waarmee u e-mails kunt verzenden via HTTP-verzoeken in plaats van het traditionele SMTP-protocol, indien dit geschikt is voor u, of gebruik maken van een andere externe verzendservice.

Aarzel niet om contact met ons op te nemen als u nog aanvullende vragen heeft. We staan altijd voor u klaar!

Dus ik zal Mailgun proberen

1 like

Misschien een vervolgvraag stellen en zeggen dat je er geen 25 nodig hebt?

@Ethsim2 thanks I think it’s clear, like Linode, they closed everything to fight spam only Linode will open up the ports on request but its ok.

I’ll go for MailGun.

2 likes

Ik heb nog nooit in mijn leven meegemaakt dat mijn gloednieuwe account wordt geblokkeerd LOL
”Mailgun: Uw account is tijdelijk uitgeschakeld.”

Is er een alternatieve SMTP-service die ik kan gebruiken?

1 like