Unable to invite new admin users to account without mailgun setup?

We’re having issues where we cannot invite any new staff into the account as admin / editors etc. We’re getting an error message telling us the invitation failed to send and to check our mailgun settings.

We’ve never had mailgun setup as we do not have subscribers etc, and have previously been able to invite users, so feels like something has changed in the setup.

Does anyone have ay suggestions? are we going to have to setup a mailgun account purely to allow us to manage users within the account?

1 Like

The error is probably about your mail configuration:

Can you send other transactional emails like password resets for admin users, magic links for members, etc.? My guess is not.

I assume you’re self-hosting, right? In that case, check your Ghost server logs to see what errors you see there in regard to the emails. This should work by running ghost log in the directory you have Ghost installed:

If you’re self-hosting with Docker, run docker logs [your-container-name] to see what’s going on.

If you are not self-hosting, and on a managed hosting platform, reach out to their support, so they can have a look.

Going out on a limb (but read your logs like Jannis says) - your host recently reconfigured things so that you can’t use whatever port you’re currently using for transactional email. (This happened recently at Digital Ocean – ports that worked previously no longer do, with the exception of 2525 – for now..)

You don’t have to use Mailgun, but you do have to configure something that can send outbound transactional email. This is done in config.production.json, or with the equivalent environment variables.

2 Likes

The configuration options in the documentation above only state:

  • Configuring with Mailgun
  • Amazon SES

You don’t necessarily need Mailgun as a mail provider to invite any new staff …

I miss a simple SMTP configuration.
It would be good to specify this as well in the documentation:

...
"mail": {
  "transport": "SMTP",
  "from": "website@domain.com",
  "options": {
    "host": "mail.domain.com",
    "port": 587,
    "auth": {
      "user": "user@domain.com",
      "pass": "1234"
    }
  }
},
...

"from" entry is important, otherwise it won’t work.

There are other options:

  • secure - if true the connection will use TLS when connecting to server. If false (the default) then TLS is used if server supports the STARTTLS extension
  • pool - set to true to use pooled connections (defaults to false) instead of creating a new connection for every email

See:

A good solution for creating user without email you can find here:

I created a commandline tool, but I‘m not sure if it works. Only tested in local install: