How to send bulk/mass email with Amazon SES. 10,000-100,000 one-time emails, or thousands per day. Set up your own web server for newsletters. Mailchimp alternative - eviltoast

https://gist.github.com/MaximilianKohler/84d2175472612a34bcc1c2ebf99b91d4

When I searched for this I had a very hard time finding a right answer because all the results were SEO blogs advertising their newsletter services (Mailchimp, Convertkit, etc.), which is not the same thing.

My use case is that I have a Google form collecting tens of thousands of applications. And I need to reply to those people en masse (a few thousand per day). None of the newsletter services are designed for this, and they’re all very expensive.

Even if your use case is a regular newsletter, setting up your own server is way cheaper.

My goal was to find the most cost-effective, user-friendly, bulk/mass email sender with good deliverability and open rates. One-time, 100,000+ emails per month, 3-4k/day.

Feel free to share your input in the comments. I’m a total noob and had never dealt with anything like this in the past. But have now hosted multiple sites for various reasons, and wrote guides for them as well.


The short answer is that you need to set up your own web server (Hetzner, AWS, DigitalOcean, etc.), install an email software on it (Listmonk, Mailwizz, Mautic), and use an SMTP like Amazon SES. It’s not that hard. If you’re on Windows, Putty and FileZilla will be your main programs to access your server. When using CSV files for your contacts, you want to use UTF-8 format.

  • fuser@quex.cc
    link
    fedilink
    English
    arrow-up
    4
    ·
    1 year ago

    SES is indeed the best option if you want reliable delivery for a reasonable cost. The pricing changed just last month so it’s no longer effectively free for small users but it’s relatively cheap (for now). I looked at the prices you quoted for other services and they seem ridiculously high, but it’s fair to say that sending legitimate (non spam) bulk email is not so easy if you do everything yourself - getting your mail accepted is very challenging. For example, even using SES, if you attempt to originate too many emails to one provider in a single call, they may start rejecting everything - I had to put counters into the code to limit how many gmail addresses would be sent with each iteration. SES also rate limits so you need to manage that somehow. It sounds like you’re planning to send a LOT of email. You’ll also need to be mindful of the bounce rate and complaints (spam / abuse reports from recipients) because SES will shut you down if they go over a certain threshold, which you can see in the dashboard. It sounds like you’ve already figured a lot of this stuff out though - it’s not rocket science but it can be frustrating to work with bulk email delivery for a number of reasons.

    • MaximilianKohler@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      The pricing changed just last month so it’s no longer effectively free for small users but it’s relatively cheap (for now).

      Well it was only free for 1 year. After that, you’d be paying for the EC2 instance. It’s roughly the same now. You can get cheaper hosting than EC2 but you’re paying a bit more for SES.

      I looked at the prices you quoted for other services and they seem ridiculously high

      Yeah it’s nuts. I think people with zero technical knowledge who want something fast are the ones paying for those services. It’s surprising there’s so many of them, but there is the fact that all the search results are dominated by their SEO blogs so it’s very hard to learn about other options.

      But even if you’re not technically knowledgeable you can pay someone a month’s worth of what those other services charge, and they can setup a self-hosted server for you.

      For example, even using SES, if you attempt to originate too many emails to one provider in a single call, they may start rejecting everything - I had to put counters into the code to limit how many gmail addresses would be sent with each iteration. SES also rate limits so you need to manage that somehow.

      I haven’t had any issues with this. The starting rates are pretty generous and I’ve been approved for the increases I requested.

      You’ll also need to be mindful of the bounce rate and complaints

      Sure. Same as with any provider.

      • fuser@quex.cc
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 year ago

        With respect to pricing, I’ve been using SES for maybe 10 years, possibly more - this month is the first time I think I’ve ever been charged. The free tier used to include a very large number - I think it was 30,000 or or more emails a day that I never exceeded. Now it’s 0.10 USD per thousand messages. Which is a pretty big change from free, even though the overall costs are small - and it’s still a bargain. As with everything in “the cloud” though, the big players will squeeze the competition out then increase prices. I fully expect SES prices to keep increasing now they’ve figured out they can extract a few extra dollars from users and how relatively cheap SES is compared to the other overpriced crap. It won’t surprise me if they jack this up significantly in the coming years.

        Referencing sending quotas - Amazon is very lenient - I was talking about the big providers like gmail. It might be different now that my accounts have a long reputation as trustworthy senders, but when I first started using SES way back when, gmail and yahoo would start rejecting mail if more than something like 200 or so messages were submitted in a single batch, so I had to check the recipient domains and limit the numbers for each hourly iteration to stop them rejecting. I keep the email batches pretty small since I’m only sending out about 5-10K at a time and I stagger the send over several hours.

        It’s a bit of a minefield but overall pretty happy with SES, mainly because the mail gets delivered. You don’t need to originate sending from an EC2 hosts (the pricing is the same, even though they make a distinction in the price list:

        Outbound email from EC2 $0.10/1000 emails $0.12 for each GB of attachments you send*

        Outbound email from non-EC2 $0.10/1000 emails $0.12 for each GB of attachments you send

        *You might incur additional data transfer charges for using EC2 (it seems very likely they will increase the non EC2 price to drive you to a place where they are getting your compute and storage $ as well).

        https://aws.amazon.com/ses/pricing/

    • lemming007@lemm.ee
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      1 year ago

      legitimate (non spam) bulk email

      I don’t think there’s such a thing, all bulk emails is spam to me as a user.

      • fuser@quex.cc
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        Some mailing lists are membership and/or opt-in only. There are legitimate needs for bulk mailing.