Ghost - Custom Email configuration of Ghost

I spent some time to master the SMTP configuration of my Ghost Docker installation for a custom email provider so to save others from the same pain(!) (I actually ended up going into the docker container and reading the code...) here is how I did it ;)

Before you start

  1. Get the custom SMTP host address of your domain provider.
  2. Get the custom SMTP port from you domain provider. (Preferably use port for STARTTLS if domain provider is offering it)
  3. Create an email user (e.g. noreply@example.com) and take note of user and password

My settings

  • Host: send.one.com
  • Port: 587 (STARTTLS)
  • User: noreply@example.com
  • Password: password

Edit the mail settings of Ghost

Find config.js at the top of the directory where you installed Ghost.

  • If using Docker like me you need to connect the Ghost data volume against a local folder path.

Edit the config.js file either by nano or vi - depends on what you prefer.

Replace everything within mail{ } with following:

        mail: {
            from: 'noreply@example.com',
            transport: 'SMTP',
            options: {
                host: 'send.one.com',
                port: 587,
                auth: {
                    user: 'noreply@example.com',
                    pass: 'password'
                }
            }
        },

Remember the last dash (,) if not you will get errors.

Thats it! Just restart Ghost/Docker container and the config should get loaded.

To test and verify

Log in to Ghost -> Go to Labs -> Click Send under Send a test mail

  • You need to have configured an email for your account for the test to work ;)