Upgrade 2.26 to 3.0 - Invalid Mail Service: sendmail

Hi Folks,

Just upgraded self hosted Ghost from 2.26 to 3.0 - that went ok, except the upgrade barfed at ‘removing old versions’ which is usual.

Blogs won’t start: error is ‘Invalid Mail service’ - configuration key mail.options.service current value sendmail.

I’ve removed this option so that the blog now starts - but users can no longer use password reset.

Does anyone know why sendmail is no longer valid? Or how it can be reinstated?

ok - so I have found:

  • removing the mail.options.service sendmail setting
  • reconfigure exim to allow sending from noreply@… (used to be ghost@…)

and Ghost is able to use direct mailing.
Note that I had already added the ghost-servers as valid SPF options for the relevant domains.

I suggest that the Ghost 3.0 Upgrade Notes be updated - they are pretty sparse atm.

Could you share your full before and after config, excluding credentials? Trying to make sure I fully understand the reproduction case here.

Once we’ve got a reproduction case we can take a look to se if this is an unintended side effect, or a bug so we can either fix it or add to the breaking change docs :slight_smile:

Ghost was installed on this host in early 2016. Using resources like this: https://www.ghostforbeginners.com/example-config-js-sendmail/

config.production.json before:

"mail": {
    "transport": "SMTP",
    "options": {
            "service": "sendmail"

This config then refused to start. Great kudos that the error message is nice and clear.

I removed the offending line - after:

"mail": {
    "transport": "SMTP",
    "options": {

I note that the email From: for Ghost 3.0 has changed, formerly ghost@… and now noreply@… - which caused my initial email tests from the upgraded blog to fail. Once I had updated permissions to allow local sending from the new address, the SMTP transport works.

The release notes for Ghost 3.0.0 seem very lacking - I wonder what other aspects of config.production.json are no longer optimal or relevant? A Note on a recommended vanilla config for the new version would make sense too. Perhaps I should be using transport ‘Direct’??


May I have a URL for the breaking changes docs, TIA

A post was split to a new topic: “Invalid integer” error when sending members signup email