Hello. Thank you for the amazing piece of software and tooling
We have a Ghost instance running on Digital Ocean. We are starting it with Docker/Podman. The environment variables seem to be passed to the container, but not read by Ghost itself.
For example, running env inside the running container prints:
However, running ghost config mail.transport prints
Love open source? We’re hiring JavaScript Engineers to work on Ghost full-time.
https://careers.ghost.org
Direct
Because of this, we cannot send transactional emails, and thus I cannot login (due to the new feature of demanding that staff users get an email when logging in).
As far as I understand, ghost config [key] does not return environment variables. Just tried it on a running site that definitely has stuff set (e.g. url) and I am getting the same result as you.
So, the issue is rather with the mail setup itself. The fact that ghost config [key] does not return anything is a red herring.
How does the rest of the mail configuration look like? Has this worked before?
As an alternative, if you need to log in quickly, have a look here at the security config:
With “***” being just redacted stuff, that should be correct. We have also tried using Mailgun, with no success. We will try again later, but it should be working, I think.
In production, the mail setup is required (meaning, if new features are added, Ghost assumes that you have a working mail setup for production), so you should figure that out.
What I’d check is if the exact SMTP credentials work elsewhere. Then work from there.
Bingo. That’s your problem. DO is blocking outbound SMTP. Switch to port 2525 (not blocked by DO recently at least), or switch to using a mail service that’ll accept email via API.