I have a self hosted Ghost server and the amount of misinformation out there is mind boggling. There were some minor differences in my setup, but I see the video is 2 years old...no matter most of the procedures you gave were exactly correct, and a life saver! Kudos and a big thanks!
Dude. Thank you so much. Followed your vid and now everything on my installation works. One thing to note is that there has been an update to the Sending > Domain Settings > Tracking area of the Mailgun dashboard to include a selection for Tracking Protocol. This needs to be set to HTTPS or the transactional email links for signups/resets won't open properly in the browser for security reasons.
Hey Harlee, thanks for the note about tracking and HTTPS. I actually have run into this issues with mailgun and several other providers (not ghost related). The bummer with mailgun is that they don't provide this option to flex-plan (pay as you go). Instead they want to you to create some rules with Cloudflare, which depending on your SSL settings in cloudflare, might not work. (is there an emoji for pulling your hair out? there should be) I also use Elastic Email with my agency and they will enable it for you, but there is no mention of it in their interface, instead you have to proactively contact support to turn it on.
@@dave-swift Not sure if you've seen their pricing recently, but they have a flex plan (pay as you go). I'm currently on this plan. Once you finish the free trial and they bump you up to Foundation 50k, you just need to go back into Billing and downgrade to the Flex model. Max send is 1k.
The flex plan is exactly what I'm referring to, actually. Checkout the blue box at the top of this doc: help.mailgun.com/hc/en-us/articles/360011566033-How-to-Enable-HTTPS-Tracking-Links
@@dave-swift You'd think for how engineer-centric Mailgun is that we could at least get a heads up about this important limitation from WITHIN the dashboard whenever downgrading to Flex or toggling the protocol selector after downgrading.. lol. Well, it looks like I'm giving Mailgun $35/mo. Im working on a few projects
Thank you very much. This is just what I need. Thank you for the level of detail and the advice from lessons learned! Update: I had to work through it a couple of times but I finally got it. For example, I had to use the secure port in the config file. However, I especially appreciate the details you provided around the DNS records; that part went perfectly the first time through.
This video was incredibly helpful! I was originally assuming that the "Newsletter" config would take care of the Staff creator email portion. It makes sense that SMTP is used for member creation, since that's not a "Bulk" email need. Thanks for this video!
I had an error on forgot password, and I also couldn't send bulk emails. However adding the following to the config.production.json solved my issue: "secure": false,
Getting this when trying to restart from terminal: Message: The content folder is not owned by the current user. Ensure the content folder has correct permissions and try again. Any idea what this could be referring to?
Thank you for this video, it helped me a lot to setup my new blog. A little update though. The test email option is no longer on the post's side panel, it is now located on the post's preview window by clicking the envelope icon.
Have you tried looking at the email through outlook? I followed this method, and it works in google, but in outlook, it goes to spam and written on the sender information is "sent on behalf of"
Yes, this is true. If it bothers you, you can either change your mailgun domain to to be the root domain or change your sending domain to match the subdomain you set in mailgun.
@@dave-swift doesn't seem like it's possible though. Zapier is limited to what the API allows which is only automations relative to adding a new subsciber. So yeah I can add new subscribers to Mautic and trigger a drip campaign but Mautic can't replace Mailgun. Love Ghost and the fact they have a free starter tier with Mailgun but why not allow the API to extend to services like Mautic?
Oh I didn’t understand that you wanted to replace email sending. Mautic can extend the features of Ghost via adding marketing automation and drip campaign but it is not meant for sending transactional emails. Mautic itself requires an email sending service to operate so you’re right back where you started.
Hey Dave, great tutorial. I am having an issue with my MailGun provided IP being blocked by Yahoo, so none of my yahoo subscribers get my emails. Is this something I need to add a dmarc record for?
All senders will provided shared IPs pools, unless you purchase a dedicated one. This means occasionally you’ll get blacklisted. You should contact Mailgun and request they move you to a healthier pool. If your volume is high enough (min 50k-100k) you should purchase your own dedicated IP and warm it up before sending to your entire list. Hope that helps, good luck.
I recommend googling the specific error message and contacting Mailgun's support. Setting up the API connection should just copy and paste, so there must be something else going on.
Hey Dave, I'm confused by one of the steps - You've mentioned that for those using Gmail you shouldn't need to setup the MX records. You've still set them up and from what I saw at the end of the video you're still getting the emails in Gmail. Is that because you've used the "m" subdomain or you didn't actually set those up in the background. I'm looking to get Ghost / Gmail / Mailgun running and I'm not sure if I understood what needs to be done at that specific step.
Hi Vlad, Three are three types of email here. Person to person email/aka Work email, typically sent via Gmail/Office 365. Transactional email, sent via Mailgun in my case -- but you can use any SMTP provider with Ghost. Marketing email, sent via Mailgun. This is required, no other mail providers are supported. You want to be careful not to modify you primary domain's MX records when setting up mailgun, because if you do, you wont' be able to receive email to your regular, person to person, work email. That's all I was getting at. Hope this helps.
Hi Dave! I followed your brilliant tutorial but still end up having issues with the transactional part. I cannot send invites and email resets when you hit the forgot email button. It says : Error sending email! Error sending email: Failed to send email. Reason: Invalid login: 535 Authentication failed. Please check your email settings and resend the invitation. I'm using Mailgun + Ghost self - hosting on Digital Ocean. Is there anything that may have changed on the Ghost end?
How quickly technology changes. This video is no longer accurate just a year later. Currently there is no API Keys link under user account. And going to API Security, which is where that link takes you, there is no longer a Private and Public API Key listed. Those have been replaced by Verification public key. Etc. But the biggest change of all is that under the free Mailgun account you can no longer use your own domain. You are limited to using the provided sandbox domain and you are rate limited to 100 emails per hour. You still get 5,000 for a month. Looking for another provider, because the first step up is $35 per month.
I think you might just need to verify your account if you just signed up. They have a pay as you go option that is 1000 emails for $1. Sign-up for a trial and then switch to PAYG which they call the Flex Plan. help.mailgun.com/hc/en-us/articles/360048661093-Can-you-explain-pay-as-you-go-PAYG-billing
I have a self hosted Ghost server and the amount of misinformation out there is mind boggling. There were some minor differences in my setup, but I see the video is 2 years old...no matter most of the procedures you gave were exactly correct, and a life saver! Kudos and a big thanks!
Thank you! Consider clientamp.com/courses/self-hosting-ghost/ if you want more :)
This video was excellent. You're a godsend, Dave.
Thank you!
Dude. Thank you so much. Followed your vid and now everything on my installation works. One thing to note is that there has been an update to the Sending > Domain Settings > Tracking area of the Mailgun dashboard to include a selection for Tracking Protocol. This needs to be set to HTTPS or the transactional email links for signups/resets won't open properly in the browser for security reasons.
Hey Harlee, thanks for the note about tracking and HTTPS. I actually have run into this issues with mailgun and several other providers (not ghost related).
The bummer with mailgun is that they don't provide this option to flex-plan (pay as you go). Instead they want to you to create some rules with Cloudflare, which depending on your SSL settings in cloudflare, might not work. (is there an emoji for pulling your hair out? there should be)
I also use Elastic Email with my agency and they will enable it for you, but there is no mention of it in their interface, instead you have to proactively contact support to turn it on.
@@dave-swift Not sure if you've seen their pricing recently, but they have a flex plan (pay as you go). I'm currently on this plan. Once you finish the free trial and they bump you up to Foundation 50k, you just need to go back into Billing and downgrade to the Flex model. Max send is 1k.
The flex plan is exactly what I'm referring to, actually. Checkout the blue box at the top of this doc: help.mailgun.com/hc/en-us/articles/360011566033-How-to-Enable-HTTPS-Tracking-Links
@@dave-swift You'd think for how engineer-centric Mailgun is that we could at least get a heads up about this important limitation from WITHIN the dashboard whenever downgrading to Flex or toggling the protocol selector after downgrading.. lol. Well, it looks like I'm giving Mailgun $35/mo. Im working on a few projects
Since you already have it on during your trial, I'd be curious if they keep it on for you after you switch to flex.
Thank you very much. This is just what I need. Thank you for the level of detail and the advice from lessons learned!
Update: I had to work through it a couple of times but I finally got it. For example, I had to use the secure port in the config file. However, I especially appreciate the details you provided around the DNS records; that part went perfectly the first time through.
Glad it was helpful!
This video was incredibly helpful! I was originally assuming that the "Newsletter" config would take care of the Staff creator email portion. It makes sense that SMTP is used for member creation, since that's not a "Bulk" email need. Thanks for this video!
Glad to hear it, Randy!
I had an error on forgot password, and I also couldn't send bulk emails.
However adding the following to the config.production.json solved my issue:
"secure": false,
Thanks for sharing!
Great video, and amazing walkthrough.
Thank you! 🙏
Getting this when trying to restart from terminal: Message: The content folder is not owned by the current user.
Ensure the content folder has correct permissions and try again.
Any idea what this could be referring to?
Thank you for this video, it helped me a lot to setup my new blog. A little update though. The test email option is no longer on the post's side panel, it is now located on the post's preview window by clicking the envelope icon.
Glad it helped! Thanks for the update.
Have you tried looking at the email through outlook? I followed this method, and it works in google, but in outlook, it goes to spam and written on the sender information is "sent on behalf of"
Yes, this is true. If it bothers you, you can either change your mailgun domain to to be the root domain or change your sending domain to match the subdomain you set in mailgun.
Can Ghost be setup to use with Mautic?
It should be possible with webhooks or a zapier style tool (n8n to keep it FOSS). It's not something I've tried before though.
@@dave-swift doesn't seem like it's possible though. Zapier is limited to what the API allows which is only automations relative to adding a new subsciber. So yeah I can add new subscribers to Mautic and trigger a drip campaign but Mautic can't replace Mailgun. Love Ghost and the fact they have a free starter tier with Mailgun but why not allow the API to extend to services like Mautic?
Oh I didn’t understand that you wanted to replace email sending.
Mautic can extend the features of Ghost via adding marketing automation and drip campaign but it is not meant for sending transactional emails.
Mautic itself requires an email sending service to operate so you’re right back where you started.
Hey Dave, great tutorial. I am having an issue with my MailGun provided IP being blocked by Yahoo, so none of my yahoo subscribers get my emails. Is this something I need to add a dmarc record for?
All senders will provided shared IPs pools, unless you purchase a dedicated one. This means occasionally you’ll get blacklisted.
You should contact Mailgun and request they move you to a healthier pool. If your volume is high enough (min 50k-100k) you should purchase your own dedicated IP and warm it up before sending to your entire list.
Hope that helps, good luck.
Hi, I followed your tutorial and transactional emails are working fine but newsletters are not sending. it's saying error. I'm using private API key
I recommend googling the specific error message and contacting Mailgun's support. Setting up the API connection should just copy and paste, so there must be something else going on.
Hi, can you cover how to setup Ghost with Elastic Email (or other SMTP service)?
Ghost requires MailGun. ghost.org/docs/faq/mailgun-newsletters/?via=dave61
thank you!
You're welcome! Thanks for commenting.
Hey Dave, I'm confused by one of the steps - You've mentioned that for those using Gmail you shouldn't need to setup the MX records. You've still set them up and from what I saw at the end of the video you're still getting the emails in Gmail. Is that because you've used the "m" subdomain or you didn't actually set those up in the background. I'm looking to get Ghost / Gmail / Mailgun running and I'm not sure if I understood what needs to be done at that specific step.
Hi Vlad,
Three are three types of email here.
Person to person email/aka Work email, typically sent via Gmail/Office 365.
Transactional email, sent via Mailgun in my case -- but you can use any SMTP provider with Ghost.
Marketing email, sent via Mailgun. This is required, no other mail providers are supported.
You want to be careful not to modify you primary domain's MX records when setting up mailgun, because if you do, you wont' be able to receive email to your regular, person to person, work email.
That's all I was getting at. Hope this helps.
Quality content.
Thank you. 🙏
thank you for the video :)
Hi Dave! I followed your brilliant tutorial but still end up having issues with the transactional part. I cannot send invites and email resets when you hit the forgot email button.
It says : Error sending email! Error sending email: Failed to send email. Reason: Invalid login: 535 Authentication failed. Please check your email settings and resend the invitation.
I'm using Mailgun + Ghost self - hosting on Digital Ocean.
Is there anything that may have changed on the Ghost end?
Hi Daniel,
Try the secure connection settings on this page: ghost.org/docs/config/#mail
Let me know if it helps?
How quickly technology changes. This video is no longer accurate just a year later. Currently there is no API Keys link under user account. And going to API Security, which is where that link takes you, there is no longer a Private and Public API Key listed. Those have been replaced by Verification public key. Etc. But the biggest change of all is that under the free Mailgun account you can no longer use your own domain. You are limited to using the provided sandbox domain and you are rate limited to 100 emails per hour. You still get 5,000 for a month. Looking for another provider, because the first step up is $35 per month.
I think you might just need to verify your account if you just signed up.
They have a pay as you go option that is 1000 emails for $1.
Sign-up for a trial and then switch to PAYG which they call the Flex Plan.
help.mailgun.com/hc/en-us/articles/360048661093-Can-you-explain-pay-as-you-go-PAYG-billing
I just noticed that also, Did you figure out how to do it With the new page view. I don't have that Public API? options
Having the same issue re: not being able to find the private API key. Anyone have any luck figuring this out in 2024?
@maryboy666 have you verified your account and added a payment method?
i'm now a swiftie.