Basic Gmail SMTP setup for Ghost
Introduction
If your Ghost setup can't send transactional emails - such as user invites and password resets - then you probably haven't configured your mail settings correctly.
Step 1: Create Gmail app password
- Go to https://myaccount.google.com/apppasswords and login (if you cannot create an app password you may need to enable 2FA first)
- Enter an app name that's easy to remember (e.g. Ghost SMTP)
- Copy your password and write it down (once you close the popup you won't be able to see it again)
Step 2: Update Ghost mail config
- Go to your project directory
cd /var/www/ghost
- Open and edit
config.production.json
- Copy and paste the below config, replacing
user
andpass
with your own credentials:
"mail": {
"transport": "SMTP",
"options": {
"host": "smtp.gmail.com",
"port": 587,
"auth": {
"user": "mygmailaccount@gmail.com",
"pass": "your APP password"
}
}
},
4. Restart Ghost
Conclusion
Hopefully, that should fix your SMTP issues and allow you to send password reset requests, etc. Don't do what I did and accidentally type smtp.google.com
instead of smtp.gmail.com
and then spend ages trying to figure out why it didn't work.
If you are still having issues, on my search for answers I did find some people had issues with Digital Ocean (DO) locking down port 587
. This site is hosted on DO and I didn't have that issue, but if it is for you then that might be a good place to start.
Resources
Here are some threads and posts that I found useful on my quest to solve this issue:


