Requirements for Free Member Registration

I am trying to get the free tier membership capability setup for my theme and website. To test the setup I am running this on my local environment. I enabled the following:

  • Enabled Members
  • Allow free member signup
  • Email Settings (Enabled after receiving 500 Internal error and believing this was required)

Here is the form setup for my theme to collect their email.

<div class="flex items-center justify-center">
    <div class="container mx-24 bg-primary-800 rounded shadow-lg">
        <div class="text-center">
        <h3 class="font-normal text-white leading-loose my-3 w-full">Sign up for our newsletter and exclusive content!</h3>
        <div class="w-full text-center">
            <form data-members-form>
            <div class="max-w-xl mx-auto my-5 p-1 pr-0 flex items-center">
                <input data-members-email type="email" required="true" placeholder="jenny.doe@example.com" class="flex-1 appearance-none rounded border shadow p-3 text-grey-dark mr-2 focus:outline-none">
                <button type="submit" class="bg-secondary-500 text-white font-semibold tracking-wide uppercase p-3 rounded shadow hover:bg-secondary-600">Sign Up</button>
            </div>
            </form>
        </div>
        </div>
    </div>
</div>

I notice that a request is made on submit http://localhost:2368/ghost/api/canary/members/send-magic-link/, with the value from the input in the email key within the payload, but receive a 500 internal error.

From Error log:

NAME: EmailError
MESSAGE: Failed to send email. Reason: connect ETIMEDOUT xxx.xxx.xx.xx:xx.

level: normal

    "Please see https://ghost.org/docs/concepts/config/#mail for instructions on configuring email."
    EmailError: Failed to send email. Reason: connect ETIMEDOUT xxx.xxx.xx.xx:xx.
        at EmailError.GhostError (/Users/user/dev/ghost-cms/versions/3.11.0/core/server/lib/common/errors.js:10:26)

I thought after my first attempt that this might be due to not configuring the email setting, but the same error appears after creating a mailgun account and passing in information.

What could be causing this issue?

Do I also need Stripe configured so that a free tier member can be add to their database?

In general are Stripe and Mailgun required to be able to register members? Can you use a different service than Mailgun (e.g. Mailchimp) or is this the only provider linked to the Membership during this beta? I also don’t have an email configured for the config file when I set up my Ghost instance. Is that at all related to my issues?

Any direction and help would be appreciated!

Have you tried the email testing tool in Labs > Testing tools > Test email configuration?

And no, you don’t need Stripe configured for free members.

I see the request for /test, but it isn’t going through. Just continuing to attempt.

It seems like your email settings for transactional emails aren’t configured properly. Have you entered your SMTP credentials in config.production.json like mentioned in this article?

2 Likes

Yes that resolved my question. In regard to the Stripe question. When that is configured are general (free tier) signups created as customers within Stripe? Is there a potential downside to not connecting to Stripe at the time of offering membership or is there a way to sync members prior to attaching Stripe to Stripes list of members?