Need help/advice on email setup for a self hosted Discourse instance

Couldn’t find an answer to this after days of googling, and maybe I’m fundamentally misunderstanding email configuration (not something I’ve messed with before).

I have a domain (example. com) which I run a website from. I have configured a subdomain (forum. example. com) which is pointing to a DigitalOcean droplet running Discourse (DNS A Record). The subdomain works, the installation of Discourse works and I get the admin registration screen when I go to the subdomain.
I also configured Mailjet free-tier, registered both example.com and forum.example.com with appropriate DNS records and verified both with SPF/DKIM. Everything is green in the mailjet account page.

The problem is I do not get the registration email at all. I also ran discourse-doctor which confirmed successful connection to the SMTP server and that the mail was accepted by the server, but still no email. The discourse install is using “noreply @forum .example .com” as the sending address.

Where I’m confused is that noreply@ forum. example. com doesn’t exist. In fact, no “@ example. com” addresses exist, since the site is for a local social/sports club and we didn’t really want to spend on email hosting when not a lot of interaction is done via email (all socials generally).
So will mailjet somehow spawn this email address or is my problem literally that I don’t have an email hosting service running (like google workspace/gSuite etc)?
Any ideas on why this isn’t working if the email hosting isn’t the issue?

Help greatly appreciated, obsessing over this problem and can’t find an answer :slight_smile:

1 Like

Can you send email from that system at all, starting with outside the docker container? Can it receive email from an external site? (Does it need to?)

What’s in the mail logs?

You need at least outbound email to set up users and their passwords, not sure if inbound has to work as long as there’s an address to reach the administrator or contact.

Email administration is kind of a tricky beast, I’ve done it for over 30 years and I learn something new nearly every day.

It took me 2 full days to get my discourse testbed server working with email, it only took me 3-4 hours to get the production one going.

2 Likes

All our inbound mail currently routes to a gmail.com address. We don’t have any domain emails set up nor hosting for domain emails.

The system as far as I can tell only needs to send the notification/registration emails for Discourse as “noreply” under the forum subdomain.

I’m trying to understand how the email ecosystem works…in order for Mailjet to be able to send the noreply emails, do I have to create a noreply domain email address in an email hosting service? Like GSuite for example?

The discourse-doctor script tells me that the SMTP connections are all working, so the droplet is successfully connecting to Mailjet, just nothing happens after that point.
I also for the life of me can’t find the logs for the SMTP service in Mailjet anywhere

No you shouldn’t have to do that. There’s a walkthrough for mailjet over here: Howto use Mailjet as a free SMTP service for Discourse, have you completed all these steps?

1 Like

Yep that’s exactly the guide I followed for the set up :slight_smile:
All DNS records are working according to Mailjet and Discourse-Doctor confirms successful connection to the SMTP server.
I’m wondering now if this is something to do with Mailjet and not the Discourse set up? It looks like they may have flagged the account as suspended :frowning:

Also thank you for confirming I don’t need to set up a separate email host!

1 Like

suspended or blacklisted email addresses and sites are an email administrator’s constant nightmare

Can you send any email at all through the smtp server? (I assume it is not also self-hosted.)

1 Like

oh that’s frustrating! I can confirm that mailjet actually works… I just configured a site using it today. So hopefully you can resolve that account issue.

1 Like

@MikeNolan I tried to send a test campaign using Mailjet just to my personal email from a test domain email and it’s stuck in queued, so yep I’m guessing that means Mailjet have restricted my account! Time to problem solve with customer service :slight_smile:

@awesomerobot thank you for confirming that it works! Hopefully I can get it sorted and get the forum up and running :slight_smile:

Check the mail server logs and see what it did with the email.

It doesn’t need to. You don’t want to receive mail.

I’m sure I’ll get pushback on this, but I think it is inconsiderate to send email that has no valid reply address.

It’s telling the receiver, “My messages are important, yours aren’t.”

(This is from 30 years as an email administrator, with billions of messages in my collective outboxes.)

People don’t really expect to be able to reply to an email that validates an email address or resets their password. Replying to a summary of posts poodle have missed also doesn’t make sense to reply to.

But for some messages it does make sense.
You can configure reply by mail if you want.
If you want to enable reply by email your can set up the mstm receiver container or use pop3.

Reply by email (if by that you mean replying to a post so that it becomes part of the discussion) is a separate issue from having do-not-reply@foo.bar as the envelope/from/reply-to address on an email, even one that is administrative in nature.

Have you ever gotten a ‘reset password’ message that didn’t work? I’ve gotten lots of them. So who do you contact when that happens?

I’ve gotten bills that came from do-not-reply@… Sometimes I wonder if they don’t really want me to pay them.

But it’s a matter of some debate among mail administrators. And I’m an old curmudgeon.

I don’t have any experience with MailJet, but I know at least one very well known email hosting package that makes it outrageously difficult to find much less view the logs. And as for searching them intelligently, ha!