Ghost/Mailgun will not send email when "Allow free member signup" is FALSE

I have Members enabled, connected to Mailgun with valid credentials. Running Ghost 3.1, self-hosted on DigitalOcean Ubuntu droplet. I am also using the Lyra theme.

If “Allow free member signup” is TRUE, the email on the Lyra signup page gets sent perfectly fine.

However, if “Allow free member signup” is FALSE, the email on that same page never gets sent. The status message beginning “Great!” shows up instantaneously.

Signup page is here: Exception Not Found — Sign up. Obviously, “Allow free member signup” is currently TRUE on that page.

This is expected behaviour

When “Allow free member signup” is set to false it means that the only way a member can signup is by going via Stripe Checkout.

This essentially uses a payment method as a spam filter so that people cannot create a member in your database without making a payment.

So is this an issue with Lyra, then? Because I don’t see how getting a successful status message telling users to “check their inbox” when it is expected that no email is sent is a good UX. If “Allow free member signup” is false, how are uses supposed to get to Stripe Checkout in Lyra?

The successful status message is a bug - we’re currently working on fixing it :relaxed:

If “Allow free member signup” is false, how are uses supposed to get to Stripe Checkout in Lyra?

Lyra is not designed to work with this flow - you’d have to customise it, or make your own theme for this flow.

The way user would get to stripe checkout is by using the data-members-plan attribute in your theme so that they can start a Stripe Checkout session

You can check the docs for members theme development for more info: Ghost Theme Development: Building custom membership flows