Discourse installed, E-Mail problems

I know the title sounds generic, but please bare with me.

I’ve gotten myself into a confusing net of different providers. What do I mean?
First I’ve registered a domain and shared hosting with eleven2. (I realize that discourse will be impossible to install on this, but maybe we can make use of this later on).

  • I’ve registered a domain and only a domain with namecheap, well, because it’s cheap.
  • I’ve registered for AWS EC2, launched an instance (Ubuntu 16.04) and followed the installation guide for discourse.
  • Sure enough, I need an E-Mail provider. I went with sparkpost. In hindsight, Mailgun might’ve been better as was suggested here in this forum.
  • I now want to connect the namecheap domain with sparkpost. This hasn’t been successful. Maybe I have to wait the 24-48 hours.
    However, discourse is supposed to be running on a subdomain: discourse.ndomain.co. As far as I know, I cannot create an email address with a subdomain with namecheap when only hosting the domain.
    What is suggested by sparkpost is, that I have to register the subdomain where I want to send emails from: discourse.ndomain.co and hence abuse@discourse.ndomain.co. Namecheap seems to make this impossible. Or this contingent? Could I just register with the actual domain: ndomain.co. (This may already be a major point of my confusion)

The discourse installation also requires the hostdomain, which I’ve entered as discourse.ndomain.com.

However, the whole thing is launched in an AWS EC2 instance.

I don’t know how to tie the threads together. I’m lost in a web of errors and dead ends.
Maybe I could just utilize the domain registered with eleven2? (At least I’d have some cPanel options there).
So I would install discourse, link it to abuse@edomain.com (eleven2’s domain) and still have the namecheap DNS point at the AWS EC2 instance? (which works; it’s just the E-Mail issue)

This is confusing, My explication is confusing, too. Forgive me. Maybe you can hit me over the head with a stop sign and point out a different route I could try to get discourse running.

What I want is this: Make discourse accessible under subdomain.ndomain.co, running on the AWS EC2 instance with emails distributed via sparkpost (or mailgun, if switching is recommended).

I’m trying to set this up for an open source, nonprofit project. There’s no money going to come back in, which is why I want to keep the costs as low as possible. Else I might’ve gone with digital ocean right off the bat~

There are a bunch of pieces. It might help to know that they are more separate then it would seem. It didn’t matter who your registrar, hosting service, mail service, are

Here are my post install instructions. They are for Mailgun, but it’s almost the same for Spark post. They might help you make sense of how things fit together.


Hey Jay,

thank’s for your documentation! Turns out I wasn’t that far off from completion.
The first mistake was due to an idiosyncrasy on namecheaps part. They require for the host entry, that the domain is not included (DKIM Record). scph0000._domainkey instead of scph0000._domainkey.domain.com.

It took a while, then the connection was marked as verified.
The initial registration email after installing discourse didn’t come through. I made due with manually creating a user with admin permissions just as it is proposed in the troubleshooting section.

./launcher enter app rake admin:create exit

After that, I could modify the ‘from’ settings within the admin panel (which apparently still were messed up) and regular registration worked. All is fine, I’m a bit shocked that it went so swiftly in the end. The corresponding Elastic IP is pointed to the proper subdomain and makes no problems as far as I can see.

Besides having entered the smtp-data from sparkpost while configuring discourse, I made no changes on the AWS EC2 side. Despite namecheap support suggesting otherwise.

Fine, all is fine :heartbeat: