Transactional emails working but Newsletter does not send

Site: https://tetractysresearch.com/
Ghost-CLI version: 1.26.1
Ghost version: 5.94.0 (at /var/www/ghost)

  • How was Ghost installed and configured?
    DigitalOcean one click droplet

This issue is quite odd, I managed to have both transactional emails and newsletter emails working through Mailgun. Only making cosmetic changes to the site through the Ghost web browser UI I now am in a sitruation where transactional emails send fine (new subscribers and invite of colleagues works fine) but the newsletter shows this error:

image

It does not show me what is causing the error. When looking in mailgun its not showing emails are sending (it does show it attempted and succeeded in sending the transactional emails but does not register the newsletter)

I suspect Ghost is not communicating on the newsletter front with Mailgun but I am not sure how to troubleshoot.

Thanks for the help in advance!

Here is my last post on the mailing issue which was kindly resolved and everything worked fine since then: Subscription Email and Blog Post hyperlinks get blocked

Current set up:

Mailgun:

I got the API key from here:

Which can only be copied when created, and then I pasted in the Mailgun private API key area in Ghost.

Can you see the “failed” log in Mailgun? you can find it under Send > Sending > log?

1 Like

Thanks for the reply!

Here is the screenshot. It shows no errors:

Note the logs it shows in the image are the transactional emails I have tested lately, nothing from the newsletter test I showed the error messages of above.

I managed to run, the ghost doctor here is the output:

Working directory is not a recognisable Ghost installation.
Run `ghost doctor` again within a folder where Ghost was installed with Ghost-CLI.
ghost-mgr@Peri1:~$ cd /var/www/ghost/
ghost-mgr@Peri1:/var/www/ghost$ ghost doctor

Love open source? We’re hiring JavaScript Engineers to work on Ghost full-time.
https://careers.ghost.org


âś” Checking system Node.js version - found v18.20.4
âś” Checking logged in user
âś” Ensuring user is not logged in as ghost user
âś” Checking if logged in user is directory owner
âś” Checking current folder permissions
âś” Checking system compatibility
âś” Checking for a MySQL installation
+ sudo systemctl is-active ghost_tetractysresearch-com
Instance is currently running
â„ą Validating config [skipped]
âś” Checking folder permissions
âś” Checking file permissions
âś” Checking content folder ownership
âś” Checking memory availability
âś” Checking binary dependencies
âś” Checking free space
âś” Checking systemd unit file
âś” Checking systemd node version - found v18.20.4

And ghost update yields the following:

+ sudo systemctl is-active ghost_tetractysresearch-com
âś” Checking system Node.js version - found v18.20.4
âś” Ensuring user is not logged in as ghost user
âś” Checking if logged in user is directory owner
âś” Checking current folder permissions
âś” Checking folder permissions
âś” Checking file permissions
âś” Checking content folder ownership
âś” Checking memory availability
âś” Checking free space
âś” Checking for available migrations
âś” Checking for latest Ghost version
All up to date!

Apologies if I feel like helping some neanderthal using Ghost (I pretty much am!)
Thanks again!

Without an error log, it’s hard to guess. Try to find the error log under your Ghost project’s “logs” directory, you may see many error logs there. The log without number suffix is the most recent.

Send a newsletter, and check the latest error.
If you have trouble finding related errors, please DM me with the error log file.

1 Like

Could you post your config file, minus api keys and passwords?

1 Like

Thanks Cathy! How do I get that file, do you have a resource I can follow?

If you’re running in a VPS or otherwise have shell access, you’d look for it in the Ghost root directory, named config.production.json.

If you’re using Docker (includes Pikapods), you don’t necessarily have a config.production.json, but you have a Docker compose file that includes the same settings.

1 Like

Thanks! Here you go, let me know if that is what you are looking for

{
  "url": "https://tetractysresearch.com",
  "server": {
    "port": 2368,
    "host": "127.0.0.1"
  },
  "database": {
    "client": "mysql",
    "connection": {
      "host": "127.0.0.1",
      "user": "ghost-861",
      "password": "some password",
      "port": 3306,
      "database": "ghost_production"
    }
  },
  "mail": {
    "transport": "SMTP",
    "options": {
      "service": "Mailgun",
      "host": "smtp.mailgun.org",
      "port": 465,
      "secure": true,
      "auth": {
        "user": "postmaster@mg.tetractysresearch.com",
        "pass": "password"
      }
    }
  },
  "logging": {
    "transports": [
      "file",
      "stdout"
    ]
  },
  "process": "systemd",
  "paths": {
    "contentPath": "/var/www/ghost/content"
  }
}```

I’m guessing that you’ve missed this step?

(If that doesn’t fix the problem, check for an error in Mailgun’s dashboard.)

1 Like

Thanks Cathy! I was in contact with Mailgun and seems they put a limit on my account pending information on my business and mail use.

I’ll update here if that was the issue and resolution

I had a similar issue recently. My account was put under a sending-limit from mailgun of 10 emails. I adjusted the batch-size for the sending in the config to 9 and it worked again until Mailgun lifted the restriction.