Ghost 3.0 email validation too strict. fails

I’d like to use the email subscription feature but it appears to be too strict to allow some common email formats… or am I “barking up the wrong tree”? The error I get from $ghost log is:

The email address I’m testing with is my real “.io” email address that I’ve been using for over a year.
Am I doing it wrong? Or is this something that can be tweaked in a future release of Ghost?

NAME: EmailError
MESSAGE: Failed to send email. Reason: Can't send mail - all recipients were rejected.

level: normal

"Please see for instructions on configuring email."
EmailError: Failed to send email. Reason: Can't send mail - all recipients were rejected.
    at EmailError.GhostError (/var/www/
    at new EmailError (/var/www/
    at createMailError (/var/www/
    at EventEmitter.<anonymous> (/var/www/
    at Object.onceWrapper (events.js:286:20)
    at EventEmitter.emit (events.js:198:13)
    at EventEmitter.emit (domain.js:448:20)
    at DirectMailer.<anonymous> (/var/www/
    at SMTPClient.<anonymous> (/var/www/
    at Object.onceWrapper (events.js:286:20)
    at SMTPClient.emit (events.js:198:13)
    at SMTPClient.EventEmitter.emit (domain.js:448:20)
    at SMTPClient._onError (/var/www/
    at SMTPClient._actionRCPT (/var/www/
    at SMTPClient._onData (/var/www/
    at Socket.emit (events.js:198:13)
    at Socket.EventEmitter.emit (domain.js:448:20)
    at addChunk (_stream_readable.js:287:12)
    at readableAddChunk (_stream_readable.js:268:11)
    at Socket.Readable.push (_stream_readable.js:223:10)
    at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)

[2019-11-08 15:22:49] INFO "POST /ghost/api/canary/members/send-magic-link/" 500 348ms

Thanks in advance… and in all other respects, thanks for such an awesome platform!

It seems like your email configuration might not be correct. What email service are you using to send email?

My config.production.json contains:

  "mail": {
    "transport": "Direct"

It works fine when subscribing/sending to my Gmail email account, and when using the email test from the Ghost admin area.

I would try using a service like mailgun (they have a free tier for 10,000 monthly emails) and see if that fixes the problem. A direct mail could be the cause of this

Thanks @vikaspotluri123 :+1: Now that the DNS settings for Mailgun have propagated, all appears to be working as it should. I guess that I’ll add that to my setup scripts (set up a Mailgun domain and grab the DNS/MX settings etc)

1 Like

To get the rid of the all recipients were rejected. error while using your own SMTP server, I had to set t the “from” address.

Hello @vikaspotluri123. I am trying to add an administrator to my ghost instance. With my gmail and hotmail it works, The emails are arriving to our spam folders. Which is normal. But with a custom domain (e.g. I get the following error:

Error sending email! Error sending email: Failed to send email. Reason: Can’t send mail - all recipients were rejected. Please check your email settings and resend the invitation.

My question is, why does the Ghost instance discriminates between emails?

Ghost doesn’t really modify any of your mail settings, everything is managed by an upstream library. However, based on the message, I’m guessing your issue is the email was rejected by the spam filter for some reason