Resource not found when using send-magic-link


Am I the only one getting this error message when trying the subscription feature?

// /members/api/send-magic-link/

  "errors": [
      "message": "Resource not found",
      "context": null,
      "type": "NotFoundError",
      "details": null,
      "property": null,
      "help": null,
      "code": null,
      "id": "..."
"code":null,"name":"EmailError","statusCode":500,"level":"normal","message":"Failed to send email. Reason: Mail from command failed - 550 5.7.1 Unfortunately, messages from [...] weren't sent. Please contact your Internet service provider since part of their network is on our block list (S3140).

I’m using:

  • Version 4.3.3
  • Environment production
  • Database sqlite3
  • Mail Direct

With the official Docker image

Thanks for any help

This code seems to suggest the IP you’re sending email from has a low reputation based on this forum post elsewhere

1 Like

Thank you @vikaspotluri123!
Oh no, I’m using DigitalOcean but I think that is a common use case.
Do you know if there are resources or ways to solve this problem?
(That is not using Mailgun)

IP reputation for email is a pretty complicated topic which I’m not really well versed in :slight_smile:

Ok, thank you anyway!
I think I’ll have to wait for other ways to subscribe to a Ghost blog.
I hope it will come soon!

With the caveat that I’m not an expert in email either but have been working on this for my own domain recently, a couple of reasonably simple things you can do that may help your IP’s reputation.

  • Set up a reverse PTR record. In DigitalOcean this is really easy: just give your droplet the same name as your domain. So rename your droplet to or whatever
  • Add an SPF record to your DNS. This wizard should help you there

I also set up DKIM by following this tutorial, but I’m using the Ubuntu 1-click app and I know even less about Docker than I do about email, so I’m afraid you’re on your own there.


What’s wrong with Mailgun?

I can’t speak for the OP, but in my case I sent out an email to >1,000 subscribers, which took Mailgun a couple of hours to process. Anyone who tried to login to the site during that time seemed to have their sign-in link email added to the end of the Mailgun queue, so it took a couple of hours before they could comment on the post, by which point they had moved on to other things.

Hopefully sending transactional emails directly from my site will clear up that problem (although I haven’t sent another newsletter to try it out yet).

Maybe you aren’t an expert in email but you are giving us loads of helpful hints!
I’ll try them asap.
Thank you really much :fire:

I don’t need to send bulk newsletter emails, I just need to enable readers subscriptions. So I don’t want to manage another external service in order to do something that the server can do itself.

Wow, thanks for sharing this issue.
One more reason to send emails straight from my server

I understand. Mailgun is more about email deliverability assurance. It helps because their sender score reputation is likely always extremely high. Saves messing about with server records and building a reputation by yourself, which on Digital Ocean is ALWAYS hard because the IP you are given has usually been abused in the past, so you’re already at odds. You can use Mailgun for free on their flex plan for up to 1300 emails (I think), so it’s not really a problem. You literally sign up, the rest is documented in Ghost docs.

1 Like