SES config failing, possible docker configuration issue?

Running latest version of the docker image, mysql db, up’d with docker-compose.

It seems that my AWS SES config isn’t being read correctly. This is the config I am using:

version: '3.1'
    image: ghost:5-alpine
    restart: always
      - 8080:2368
      database__client: mysql
      database__connection__host: db
      database__connection__user: root
      database__connection__password: example
      database__connection__database: ghost
      mail__transport: SMTP
      mail__from: "'Admin' <>"
      mail__options__port: 2465
      mail__options__secure: yes
      mail__options__service: SES
      mail__options__auth__user: 'SMTP Credentials AccessKeyId'
      mail__options__auth__pass: 'SMTP Credentials Password'
      NODE_ENV: development
      - ./content:/var/lib/ghost/content

    image: mysql:8.0
    restart: always
      MYSQL_ROOT_PASSWORD: example
      - ./mysql:/var/lib/mysql

Note the domains “” and mail from address domain “” are different. The ghost admin interface is still showing “” as my mail domain despite configuring differently, and when I try to send a test email, I recieve the “Please verify your email settings” error message.

I see no error messages in the log files pertaining to email configuration.

Any help would be greatly appreciated. Cheers.

It looks like you may have run into a bug in Ghost about the inflexible way it has handled some some email addresses.

I see that there is now an “alpha” feature called “newEmailAddresses” that allows some new and different features for email addresses.

Alpha features are normally not visible or enabled in production, although it’s possible to do so:

Because this feels like a bug fix, it’s not clear why it’s going through the alpha/beta process. I suspect some of the cases are not backwards-compatible.

I found the issue about it:

I believe the key bit for self-hosters is here:

  • When newEmailAddresses is enabled: self hosters are free to set all email addresses to whatever they want, without verification. In addition to that, we stop making up our own email addresses and send from mail.from by default instead of generating a noreply+ @ + address