Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Ghost Docker SMTP setup

I created a ghost instance in my vps with the official docker compose file of the ghost cms

and I modified it to use a mailgun SMTP account as follows

version: '3.1'
services:
  mariadb:
    image: 'docker.io/bitnami/mariadb:10.3-debian-10'
    environment:
      - ALLOW_EMPTY_PASSWORD=yes
      - MARIADB_USER=bn_ghost
      - MARIADB_DATABASE=bitnami_ghost
    volumes:
      - 'mariadb_data:/bitnami'
  ghost:
    image: 'ghost:3-alpine'
    environment:
      MARIADB_HOST: mariadb
      MARIADB_PORT_NUMBER: 3306
      GHOST_DATABASE_USER: bn_ghost
      GHOST_DATABASE_NAME: bitnami_ghost
      GHOST_HOST: localhost
      mail__transport: SMTP
      mail__options__service: Mailgun
      mail__auth__user: ${MY_MAIL_USER}
      mail__auth__pass: ${MY_MAIL_PASS}
      mail__from: ${MY_FROM_ADDRESS}
    ports:
      - '80:2368'
    volumes:
      - 'ghost_data:/bitnami'
    depends_on:
      - mariadb
volumes:
  mariadb_data:
    driver: local
  ghost_data:
    driver: local

but when I try to invite authors to the site it gives me following error

Failed to send 1 invitation: [email protected]. Please check your email configuration, see https://ghost.org/docs/concepts/config/#mail for instructions

I am certain that my SMTP credentials are correct.

I logged in to ghost containers bash shell and checked its files there. it's mail section is empty

enter image description here

I still can't find what is my mistake. I am not sure about the variable names. but I took them from the official documentation.

like image 776
Dulara Malindu Avatar asked Jul 10 '26 22:07

Dulara Malindu


1 Answers

My exemple :

url=https://www.exemple.com/
# admin__url=XXX // Remove it (For my side, the redirection is failed)

database__client=mysql
database__connection__host=...
database__connection__port=3306
database__connection__database=ghost
database__connection__user=ghost
database__connection__password=XXX

privacy__useRpcPing=false

mail__transport=SMTP
mail__options__host=smtp.exemple.com
mail__options__port=587
# mail__options__service=Exemple // Remove it
[email protected]
mail__options__auth__pass=XXX
# mail__options__secureConnection=true // Remove it
mail__from=Exemple Corp. <[email protected]>

In your case change :
mail__auth__user => mail__options__auth__user
mail__auth__pass => mail__options__auth__pass
And delete : mail__options__service (https://github.com/metabase/metabase/issues/4272#issuecomment-566928334)

like image 138
Bigeard Avatar answered Jul 14 '26 16:07

Bigeard



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!