Learn how to set up email in self-hosted Ghost sites, to power both newsletters and subscriber confirmation emails.
· Dan Rowden
Ghost sends email through two different systems:
transactional emails, which are sent to subscribers when subscribing or logging in to your site, plus invites and password resets for staff users
and email newsletters, which are email versions of your posts sent in bulk to your subscribers
Transactional emails can be set up using a range of email providers like Mailgun, Amazon SES or any SMTP server.
Newsletters can currently only be sent through Mailgun, as it is the sole integration Ghost offers for bulk newsletter sending.
Note: It is worth pointing out that if you run your Ghost site on a managed host like Gloat or Ghost(Pro), your email is handled for you in the background. You do not need to follow this guide or make any changes 🙌
As mentioned above, you currently have to use Mailgun for email newsletter sending in Ghost. Newsletters will not be activated in your Ghost admin until you've saved your Mailgun API credentials.
To make sure of good deliverability from Ghost, create a custom domain in Mailgun that matches your website. Mailgun recommends using a subdomain (like mail.yourdomain.com) but you can also use your main domain, as long as you don't receive emails via another system on the same domain (as explained here). Meaning, if you've already set up a working email address like dan@gloathosting.com, you can't use gloathosting.com for your Ghost/Mailgun domain.
Once you've created your domain, you need to copy and paste your domain name and API key into Ghost (Labs > Members).
Once installation is complete, you will see the option to "Send by email" when publishing new posts in Ghost.
By default, transactional emails (like subscription confirmations and log in emails) will work out of the box. In a fresh installation, Ghost is able to send emails without any configuration, using a server-level system.
However, by using this system, you will find that emails typically end up in Spam folders, as there is zero authentication being sent with your emails.
To avoid this, you should edit the config file on your server to route emails through an external mail service that offers SMTP, like Mailgun (shown below), SendGrid, Amazon SES or even Gmail.
There are good instructions on the Ghost site explaining how to do this. It's very easy but you have to get into your server, edit a file and restart Ghost. (Get help)
Ghost lets you configure two sending addresses, which are used only as display email addresses to your recipients.
Any email address you save into these fields has to be a real address because you'll need to verify it (by clicking on a confirmation link in an email sent to you).
You can also choose which of the two addresses is used in the "Reply to" field in your newsletters. So you could have newsletters sent from newsletter@yourdomain.com
but have replies to your newsletter sent to you@yourdomain.com
.