To connect Mailgun to GoHighLevel: 1) Create a Mailgun account and add your sending domain, 2) Add Mailgun's DNS records (SPF, DKIM, CNAME) to your domain, 3) Verify the domain in Mailgun, 4) Get SMTP credentials from Mailgun (Domain Settings → SMTP credentials), 5) In GoHighLevel → Settings → Email Services → add SMTP with host smtp.mailgun.org, port 587, your Mailgun SMTP username and password. Test by sending from GHL.
GoHighLevel + Mailgun Setup: Complete Step-by-Step Guide (2026)
Prerequisites
Before starting:
- A GoHighLevel account (agency or sub-account level)
- A Mailgun account (sign up at mailgun.com)
- Access to DNS for your sending domain
- A dedicated sending domain (e.g., mail.yourbrand.com or yourbrand.com)
For general GHL SMTP setup, see our complete SMTP guide. For authentication details, see GHL email authentication.
Step 1: Add Your Domain to Mailgun
- Log into Mailgun → Sending → Domains → Add New Domain
- Enter your sending domain (e.g.,
yourbrand.com) - Select your region (US or EU)
- Mailgun generates DNS records you need to add
Step 2: Configure DNS Records
Mailgun provides 5 DNS records. Add all of them to your domain:
SPF (TXT Record)
If you don't have an existing SPF record:
yourbrand.com TXT v=spf1 include:mailgun.org -all
If you already have SPF (e.g., Google Workspace):
yourbrand.com TXT v=spf1 include:_spf.google.com include:mailgun.org -all
DKIM (TXT or CNAME Record)
Mailgun provides a DKIM record. Add it exactly as shown. It looks like:
selector._domainkey.yourbrand.com TXT k=rsa; p=MIGfMA0GCSqGSIb3...
Tracking CNAME
email.yourbrand.com CNAME mailgun.org
This enables click and open tracking through your domain instead of Mailgun's.
MX Records (for receiving — optional)
Only needed if you want to receive email at this domain through Mailgun (for inbound processing).
DMARC (Add manually)
Mailgun doesn't auto-generate DMARC. Add it yourself:
_dmarc.yourbrand.com TXT v=DMARC1; p=none; rua=mailto:[email protected]
Step 3: Verify Domain in Mailgun
Back in Mailgun dashboard → your domain → click Verify DNS Settings.
All records should show green checkmarks:
- SPF: Valid
- DKIM: Valid
- Tracking: Valid
If any fail, wait 1-4 hours for DNS propagation and try again.
Step 4: Get SMTP Credentials
In Mailgun → Sending → Domain Settings → SMTP Credentials
Create a new SMTP user or use the default. Note:
- SMTP Host:
smtp.mailgun.org - SMTP Port:
587 - SMTP Username: (shown in Mailgun, usually
[email protected]or a custom user) - SMTP Password: (generated by Mailgun — save it)
Step 5: Connect to GoHighLevel
- In GoHighLevel → Settings → Email Services
- Click Add or Connect SMTP
- Enter:
- Host:
smtp.mailgun.org - Port:
587 - Username: your Mailgun SMTP username
- Password: your Mailgun SMTP password
- Encryption: STARTTLS
- Host:
- Test the connection — GHL should confirm success
- Set as your default sending method
Step 6: Test Deliverability
Send a test email from GoHighLevel to:
- A Gmail address — check headers for SPF pass, DKIM pass, DMARC pass
- An Outlook address — verify it reaches inbox
- Mail-Tester.com — aim for 9+/10
If anything fails, the issue is almost always in the DNS records. Double-check Step 2.
Post-Setup: Warmup
If this is a new domain or you haven't sent from it before, start slow:
- Week 1: 50-200 emails/day to your most engaged contacts
- Week 2: 300-500/day
- Week 3: 1,000-2,000/day
- Week 4+: Normal volume
Monitor in Mailgun dashboard → Analytics for bounce rates and engagement.
Practitioner note: The most common mistake: people add the DNS records, don't wait for propagation, test immediately, it fails, and they assume something is wrong with the configuration. Wait 2-4 hours after adding DNS records before testing.
Practitioner note: For GHL agencies: create a separate Mailgun SMTP credential for each client domain. Don't reuse the same credential across sub-accounts. This gives you per-client monitoring and reputation isolation.
If you'd rather have this configured correctly without the back-and-forth, schedule a consultation — I can have your Mailgun + GoHighLevel SMTP configured and authenticated within a few hours.
Sources
- Mailgun: Domain Verification
- Mailgun: SMTP Credentials
v1.0 · March 2026
Frequently Asked Questions
How much does Mailgun cost for GoHighLevel?
Mailgun Flex plan starts at $35/month for 50,000 emails. For most GHL agencies, this covers initial needs. As you scale, costs increase: $75/month at 100K, $175/month at 300K. Consider self-hosted SMTP above 100K/month to reduce costs.
Why use Mailgun instead of LC Email in GoHighLevel?
LC Email is Mailgun on shared infrastructure — you're sharing IP reputation with thousands of other GHL users. Custom Mailgun gives you your own domain, your own reputation, better deliverability tracking, and eventual ability to get a dedicated IP.
Do I need a dedicated IP on Mailgun for GoHighLevel?
Not initially. Start on Mailgun's shared pool with your verified domain. Once you're consistently sending 50K+/month with good metrics (low bounces, low complaints), request a dedicated IP. Dedicated IPs require warmup.
Why are my GoHighLevel emails still going to spam after Mailgun setup?
Most likely: 1) DNS records aren't fully propagated yet (wait 24-48 hours), 2) SPF/DKIM/DMARC not all configured correctly (verify in Mailgun dashboard), 3) New domain needs warmup (start slow), or 4) Your email content or list quality needs attention.
Can I use one Mailgun account for multiple GHL sub-accounts?
Technically yes, but don't. Each client sub-account should have its own sending domain with its own authentication. Use one Mailgun account but verify separate domains for each client. This isolates reputation between clients.
Want this handled for you?
Free 30-minute strategy call. Walk away with a plan either way.