Discourse + DigitalOcean + Mailjet setup

This is not a bug. Discourse requires what it requires, and if the necessary resources are not available, it cannot be installed.

The “recalibration” that’s most likely necessary here is that we must adjust to a new, more expensive reality to rolling out Discourse installations.

If you want to save money, you’ll need to do some fairly technical things from the command prompt to set up your environment to allow Discourse to install properly at the lower price point Droplet options.

I believe a change has been implemented to ameliorate this issue:

3 Likes

I followed your suggestion and was able to install Discourse successfully on a $6 Droplet.

However, my main issue now is I cannot seem to connect Mailjet properly, and as a result, I cannot get past the “Confirm Your Email” part of the setup process.

Is there a way to bypass this until I can configure the Mailjet stuff successfully? Or do I need to sort out the Mailjet stuff first?

(My issue is I have no way to see WHY the Mailjet stuff is failing. I’ve added SPF/DKIM and all that, but it’s still a no-go. Obviously, something is incorrect, but I have no indication about what that might be.)

Does the sending address match the one configured at Mailjet? It won’t send email for other addresses and is a pretty common mistake.

I am not using a Sender Address for Mailjet. Instead, I am using a Sender Domain (which opens up the use of nonexistent entities like noreply@mydomain.com).

I cannot use the Sender Address because, technically, no emails exist on this domain (because I cannot do this reasonably with DigitalOcean).

If I were to use a Sender Address, it would not match the domain and would therefore not work for transactional emails from Discourse (or WordPress).

Bonus question: Do I need to add my subdomain—forum.mydomain.com—as a Sender Domain (separate from my root domain)?

By sender he means the address that Discourse is using to send. The “notification email address.”

See Troubleshoot email on a new Discourse install

I do not understand this comment. (I’m trying, though, so please bear with me!)

I was able to complete Step 3 by opening a connection to my SMTP server, so I take that to mean everything could be configured properly…

But I am not clear on this point:

Do I need to have a Sender Address? It’s going to be different from my domain, so I don’t see how this has anything to do with my transactional email issue. I have configured Discourse to use noreply@mydomain.com (or maybe noreply@forum.mydomain.com, I’ll have to check), so that should be covered by Sender Domain, at least as far as I understand these entities.

(And when I say Sender Address or Sender Domain, I am talking about these values as defined within the Mailjet backend, NOT Discourse.)

I have both domains and specific sender addresses defined. It’s many months ago since I set this up but I seem to remember some issue with only defining the sender domain. Once I was able to confirm specific sender addresses it worked well.

If you are sending email, then it has an address in the from: line. You need to make sure that the address that Discourse puts there is one that your mail server will deliver mail for.

This may depend on the mail service, don’t know about mailjet.

With your domain registrar you can set a subdomain for mail service, for something like mail.domain.com.

That depends if you want to send email as aliases on the root domain, or the subdomain.

It has nothing to do with the DNS address the forum resides at. The domain in the sending address field has to match the domain configured at mailjet.

1 Like

But if I can’t define a new email address (like x@mydomain.com), then how can I ever complete this?

I can use a non-domain email address, but Discourse will only send transactional emails from domain-based addresses (if my understanding of the situation is correct).

For clarity: I have indeed specified a domain-based email address as the sender (within Discourse, and specifically within the app.yml file or whatever it is), but [1] I have not added this as a Sender Address in Mailjet because my understanding is Sender Addresses are for any addresses that do NOT share the same domain, and [2] I cannot create a domain-based email address because I am not running a mail server (the entire point of Mailjet, as I understand it at least, is to avoid having to set up and run your own mail server, which would be extremely unreliable for deliverability).

I’ve slipped the latest posts over to this topic as they seemed more about issues with your email setup rather than the basic minimum requirements. :+1:

4 Likes

I’m not able to understand what is your main current question, but I don’t believe this is accurate that sender addresses are for any address that does not share the same domain. I have configured sender addresses with the same domain that the discourse site is hosted at, which can also process incoming mail, but that is with a different platform not mailjet.

Back to your question for Jay: if you cannot define a new address, how will you be able to ever complete “this,” being: “You need to make sure that the address that discourse lists as the sender address is the one that your mail server will deliver mail for”

It would seem that the answer to that would therefore be: you cannot.

Turns out all of my information was correct, but the admin email address—which is from another domain and which I do not control—didn’t receive the emails until many hours after they were sent.

(When I added my email address to the list of admin email addresses, I received the verification email immediately.)

The one thing I did need to do to get transactional emails working from Discourse was add a second Sender Domain—the subdomain—and its concomitant DNS records.

2 Likes