AWS에서 Discourse를 사용할 수 있나요?

공식 디스커스 포럼의 많은 페이지를 살펴봤고, 몇 가지 의문이 있어 명확히 하고 싶습니다. 도움을 부탁드립니다.

  • 다른 SMTP 제공업체에 비해 매우 저렴한 AWS SES(Simple Email Service)를 왜 공식 디스커스가 권장하지 않는 것인가요? 품질이 부족해서인가요? 이메일 전송 시간이 더 걸리거나 스팸 폴더로 전달되는 등 다른 이유가 있나요?

  • DigitalOcean에서 디스커스를 운영하는 것과 Lightsail에서 운영하는 것 중 어떤 것이 좋을까요?

  • 가능하면 다양한 호스팅 제공업체에서 디스커스를 호스팅하는 방법에 대한 튜토리얼을 추가해 주셨으면 합니다.

  • 공식 디스커스 팀에서 요청하는 상세 튜토리얼 하나를 더 말씀드리면 다음과 같습니다.

  • Amazon AWS Lightsail + SES를 활용한 디스커스 호스팅 (외부 도메인 등록업체 사용).

만약 SES를 사용 중이시라면 경험을 공유해 주시면 감사하겠습니다.

So there is a tutorial for that.

I believe the reason for the recommendation of DigitalOcean in the standard install is the relative simplicity. The goal is to make the process as straightforward as possible so that people can get on with using the product, rather than get mired in additional steps such as network ACLs, object storage, and caching.

As Richard has pointed out, other guides do exist, including the one you’ve requested, but these are more complicated and error-prone. I’ve amended your title, Discourse doesn’t deter against installation on Amazon, it’s just not optimal for first-time installers.

Because it is pretty hard to configure compared to other SMTP providers. People who need help selecting what mail service to use are not likely to be able to figure out how to get SES to work.

Lightsail is easier than EC2, but Digital Ocean is easier still.

I imagine that it works just great for those who can make it work. A novice can probably figure out Mailgun in 15-60 minutes. SES is likely to take 4X that. It’s designed for professionals, especially professionals with tools to automate it.

Which didn’t make sense to @lakshya:

Having moved out from Mailgun to SES and not knowing much about email stuff… I can confirm (though it works perfectly in the end…). :sweat_smile:
Amazon’s services overall are quite complex in terms of ease of access and configuration.

Thanks, @Canapin. Then I’m going to double-down on my stance that “if you want to use SES to send mail then Somewhere Else is where to go to figure that out.” If you can figure it out, it’ll work just fine, but Stack Overflow or anywhere else is who to ask.

Yeh somehow it didn’t.

That article is not for beginner, kind of messy. As my project is budget constraint so SES is perfect match. Can’t pay $10 for mail services like mailgun sendingrid etc. :confused: (my bad).
If possible make one step by step tutorial for AWS Lightsail+SES it will help alot, possible people like me who cannot spend much.

The flex plan is $1/1000 messages: https://help.mailgun.com/hc/en-us/articles/203068914-What-Are-the-Differences-Between-the-Free-and-Flex-Plans-

No. It is not. Configuring SES is not for beginners. I’d recommend giving lightsail a try (which is for beginners and the standard install works just fine) with mailgun.

Again, if you need help with SES, you’ll need to find it somewhere else. There are also not really any instructions for configuring mailgun either. It’s on the service provider to make it possible to use their service.

thx for the help mate.

To be fair Jay is right. Discourse needs a standard set of SMTP credentials and meta is about providing support primarily for Discourse, not third party mail platforms.

If you choose a more complicated service you also assume any additional complexity created by that choice.

Just to be crystal clear, from the Discourse point of view, all you need to do is to configure these variables on your app.yml:

DISCOURSE_SMTP_ADDRESS: email-smtp.AWS_REGION.amazonaws.com
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: USERNAME_PROVIDED_BY_SES
DISCOURSE_SMTP_PASSWORD: PASSWORD_PROVIDED_BY_SES

If you have gotten these three (AWS region, SMTP username, SMTP password) figured out from AWS and properly configured on their console, you just need to set them here, rebuild Discourse and email delivery should work.

What is outside the scope of Discourse is getting AWS to validate your account, validate your domain name and any other action you may need to do at the AWS Console to get to this point.

That said, I don’t recall it being that complicated, essentially following their UI instructions and some Googling should help. Also, remember to request production access on their end to leave their sandbox environment.

Maybe a better term would be “not user-friendly” then.

Of course, when you know how to do it, it’s a matter of several clicks and fields to fill, as with any other service. But in my eyes, Amazon’s services aren’t user-friendly. Their interface differs a lot from popular other companies’ services that are more “straight to the point”. There are a lot of cryptic settings and options that you should ignore if you’re just sticking to a basic configuration, but they add noise to the process.

That’s the part that seems hard. With mailgun, I can start sending mail minutes after the Spf and dkim records are set. Just filling out the questions seems rather complicated and is certainly not something that we can support here.

Would you be willing to write an idiot’s guide for this process? :slight_smile:

Have you first tried the official guide?

https://aws.amazon.com/premiumsupport/knowledge-center/ses-set-up-connect-smtp/

I sometimes fail at reading manuals; I tried to configure it myself first, but in the end, I relied on the doc for some steps. I suppose it would have been easier if I had stuck to the manual instead of trying to figure out things by myself.

That said, since I actually didn’t read the manual from A to Z, I don’t know if there are a bit obscure parts in it.

I don’t think I ever saw that page. It doesn’t look too bad! Thanks.

At point 4, which connection method did you choose?

Also, is there a similar page to explain the required DKIM/SPF/DMARC settings?

:warning: I don’t remember it all and I’m not an expert.

I used Easy DKIM. When it’s validated by Amazon, the dashboard provides three CNAME entries to add to your DNS settings:

You can start from here and see if it works by sending a test email from the Discourse admin interface and see if there is any error (for example in Email → Skipped).

:information_source: I’m pretty sure that if you’re still in Sandbox mode in SES, you need to create and validate an Identity with the recipient email address of your Discourse sending test in Amazon SES. Otherwise, you’ll have an error message (554 Message rejected: Email address is not verified.).

Example:

As a data point, my instance get production access really quickly as I migrated from another cloud server and already have ~3k users. I provide the /about page to show the user count and screenshots of the user waiting for email verification then they approved.

I’m also waiting on the reply of a brand new instance’s prod access request, I will update if I see any progress.

On the SMTP topic, I’ve been using Fastmail as my SMTP provider and they work flawlessly! Would definitely recommend them.