Error when trying to setup new member/subscriber

Alright, so I’ve got everything setup on my Ghost blog. It’s a Second Life business website with a side deal that guides new users on how to use and get started in Second Life. That aside, I offer a free membership option that comes with simply accessing the site as a logged out user would, but with the ability to leave comments. And then a 5 dollar a month tier that includes all of that, plus a Second Life store discount on all products.

That aside, I’ve got mailgun setup for the newsletter and it does in fact send me an email when I make a new post, so that’s working.

But when I try to sign up a new user in the subscribe landing page, whether I click free or paid, I always get the “failed to send magic link email” error. Is there a way to fix this via the Ghost web interface, without having to dive into my VPS? (hosted on digital ocean, domain via namecheap, newsletters through mailgun). I mention wanting to do this through the web interface, whatever the fix is, because all the answers I’ve found involve digging through settings on a command line and I really just don’t want to do that.

Thank you for reading!

edit: And the only way I am myself a member is because I manually added myself through the dashboard interface

edit edit: I’m seeing a message at the top that says they’re aware of this issue, and that users should update. But I’ve already attempted an update and my copy of Ghost is as up-to-date as it can be, currently :/

Newsletters are sent using the Mailgun API whereas the sign-up messages use SMTP. This is configured in config.production.json.

Please share the mail section from this file, and confirm your Mailgun region.

Hey there, I did see a notification about email not being able to be sent, and found a link to instructions. But after adding what was detailed in those instructions it’s made no difference. Here’s what it says on my config.production.json (user and pass crossed out), and my region is US.

mailgun prefs

Okay, change Secure to false, and add RequireTLS: true. Then restart Ghost.


Done and done, but unfortunately still getting the “failed to send magic link” error

Try this to test outside Ghost…

# Install Swaks
curl -o swaks
chmod +x swaks
# Install Perl
sudo apt --yes install perl
# Send a test message
./swaks --auth \
        --server \
        --au postmaster@mg.yourdomain \
        --ap xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-xxxxxxxx-xxxxxxxx \
        --to \
        --h-Subject: "Hello" \
        --body 'Testing Mailgun'

Done, looks like there’s a timeout connecting to mailgun


Sorry, it was late when I posted. Port 25 is blocked; use -tls.

Don’t worry about it, you’re the one helping me out

It looks like I’ve found the problem here, it wants me to use my own domain, which I have and can do, but I haven’t been able to actually find the ‘add domain’ button on mailgun, unless they’re waiting for payment details. Either way, I think this is why none of this is working properly and it’s my own fault lol (I’ve been in sandbox tester mode)

For your domain, you need to setup MX records for Mailgun. Have you done this?

I use since I have other MX records on my.domain for day-to-day email.