Recently I’ve been chasing up the bug which means that email-in replies are threaded wrongly, with the post created set as replying to the wrong post.
Here’s an example: Henrik intended to reply to Terahn, but ended up replying to himself.
The problem, as I detail upstream, is that Amazon SES, which is what we currently use to deliver email, replaces the
Message-ID header, which is required to thread emails correctly, with its own.
I’ve proposed a couple of solutions upstream to work around what SES is doing, but in the words of Discourse’s resident infrastructure aficionado:
Seriously, rewriting message IDs is head-desk-grade stupid.
SES is doing something wrong, and I’m not sure upstream will want to accept a PR to fix that, and neither am I sure that we want to invest development resources in working around that.
So, the alternative is moving away from SES.
I’ve just spent some time comparing prices of the different options we have, and this rather hideous chart is what I’ve come up with.
Based off of this, I’m proposing we move to SparkPost.
At our current rate of email sending (~60k/month), the SparkPost Free tier is free! It remains cheaper than SES up to ~120k/month, about double our current usage.
Past ~140k/month it makes sense to hop onto the SparkPost $29/month tier, which is more expensive than SES, but not by much. Up at 500k/month (which is a long way off for us yet) it’s only $49/month more.
Moving to SparkPost means we fix this annoying bug, without investing any more developer time, also saving money for the foresee-able future.
It seems like a no-brainer to me. Thoughts?