Having only Mailgun integration for newsletter is a major hurdle for self-hosting

You can’t grow your blog beyond 100 subscribers, because on free plan, Mailgun can’t send more than 100 messages in a day, which results in Ghost CMS reporing delivery error, and you need to retry manually.

Next paid Mailgun minimum plan is $35/mo, it is too expensive for a blog where I send 1 email a month to 500 subscribers.

We need alternative mail transports, for example, native AWS SES integration. I tried the SES/Mailgun adapter, but it does not work because it fails to properly format email, including handling unsubscribe lin (Subscription details and unsubscribe link are broken when using this transport · Issue #8 · exlab-code/ghost-cms-amazon-ses-adapter · GitHub)

4 Likes

It is a bit of a pain. It would be nice to have an alternative.

I bit the bullet and set up Mailgun with their 10K plan for $15/month. It’s not great, but it is a bit cheaper than the $35/month. They don’t advertise that 10K plan very well, so you kind of have to dig for it, but it is there.

-b

Mailgun also has a free plan for 3,000 emails a month. It’s still available on their website and OP will be edit from it being that he only needs 500 emails a month.

The problem is that with the free plan, you’re limited to how many messages you can send at one time. I ran up against this limit myself, and is what prompted me to actually shell out the money for the 10K plan.

It’s still possible to get their flex plan. You need to sign up for foundation and then cancel. Yep. That’s a stupid dark pattern. I don’t work for mailgun or ghost.

1 Like

Free plan does not work if you have more than 100 subscribers - Ghost CMS fails to send, and you need to manually click to continue.

Mailgun plans does not make any sense - is pennies to send via AWS SES and I have there 50k/DAY limits there.

1 Like

I am with the Flex plan and i m ok with that, but i do agree that more integrations are needed. Brevo offers good plan AND usually like integration. maybe they are willing to develop that part of the code by themselves just for the sake of getting thousands of new clients

Logged in just to add my +1 to this.

It’s baffling that Ghost is limited to a single provider. It’s definitely not a technical reason.

Absolutely: Why do I have to set up Mailgun? - Ghost Developer Docs

They’ve never said it was a technical reason.

1 Like

My gripe with Mailgun is not their service, it works great. My account was hacked, and I couldn’t prove it wasn’t a fault on my side. I got kicked out.

The workaround for me was to create a Python script to handle sending, using Postmark and the Ghost email templates. GitHub - brunoamaral/ghost-cms-newsletter-with-postmark · GitHub

Would rather ditch that script and setup AWS SES, Postmak, or any other service of the kind, free or otherwise.

Did you read the section you just linked?

Of course. Might not come across on desktop, but I linked specifically to the “I still don’t want to use Mailgun, can you support something else?” section.

In there, the reasoning is explained and it’s not a technical reason, but a concious and opinionated design decision based on the core team’s constraints.

3 Likes

This topic could be the most popular one of this forum. Instead of writing again, I would like to link one of my replies here:

And about the options we have: Mailgun Alternatives

1 Like

Limited SMTP based provider via nodemailer could be easy to implement and maintain. Self-hosted Ghost CMS is crippled by having only Mailgun support.

Using SMTP for bulk emai is discussed as well.

1 Like

Unless you wanted variable substitutions, or link rewriting, or analytics, or…

I 100% agree with you that it’d be good to have another option. The team has said in the past that they’d need a rework that included an adapter pattern, but none of the PRs submitted have gotten any action. I don’t know whether that’s because the quality was poor, or the team was overloaded. (Both are pretty plausible.)

1 Like

I think it’s a fact that PRs from outside contributors delay too long, waiting attention for months. I hope this can be addressed with new team members in core team we expect soon.

But for the adapter solution for bulk-email sending, I couldn’t see any reasonable attempt. Recently someone created -tons of- PRs with AI. I tried to review one of them but it was difficult. I just gave a small feedback and all PRs renewed completely as the response. :man_shrugging:

1 Like

Variable substitutions or link rewriting is a non-issue - it can be implemented very well on the Ghost CMS side. Yes analytics can be missing, it is quite provider specific. IMO I am ok with that. Major provider like Gmail anyways emulate opens so that metric is wrong.

Correct me if I wrong, but SMTP sending timeouts, as discussed in the thread you provided, @muratcorlu, can be alleviated somewhat with Ghost CMS settings bulkEmail__batchSize,
bulkEmail__targetDeliveryWindow? I have them set to 1 and 300 respectively with Mailgun.

You can solve all of the issues about sending bulk email with SMTP. Then you will reach to the point of writing your own bulk email service :blush:

In my opinion, if Ghost provides SMTP as a valid option for newsletter sending, this forum would be full of messages like “SMTP server blocked”, “sending newsletter takes hours”, “Ghost crashes while sending newsletter”, instead of Mailgun complains.

When people think about using SMTP for newsletters, they generally consider using personal email services like Gmail or Zoho (Zoho has bulk email service as well). But those services has very tight daily limits for sending mails (You can send up to 500 emails per day in Gmail). And these services may also rate limit mail sends (like not able to send multiple emails under 10 seconds). Sending 500 emails can take hours. During that period your Ghost instance will busy with communicating with SMTP continuously.

Also, analytics is not just about open/click tracking. More important part is monitoring the deliverability. If you continue to send an email address that is permanently bouncing, it can result that your mail server IP is blacklisted. Ghost (with Mailgun) handles this behind the scenes. This should not be “optional” for a newsletter software.

3 Likes

AWS SES provides SMTP access but it also provides deliverability tracking, suppression lists, account health and events concerning the deliverability. So small blogs can use their Gmail account to send mail, while bigger instances can configure AWS SES access.

Mailgun is not unique in offering those features, it would be great to have those alternatives considered.

Edit: sending 500 emails via SMTP will not take hours, that is not correct.