Quick Answer

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)

By Braedon·Mailflow Authority·GoHighLevel Email·Updated 2026-03-30

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

  1. Log into Mailgun → SendingDomainsAdd New Domain
  2. Enter your sending domain (e.g., yourbrand.com)
  3. Select your region (US or EU)
  4. 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 → SendingDomain SettingsSMTP 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

  1. In GoHighLevel → SettingsEmail Services
  2. Click Add or Connect SMTP
  3. Enter:
    • Host: smtp.mailgun.org
    • Port: 587
    • Username: your Mailgun SMTP username
    • Password: your Mailgun SMTP password
    • Encryption: STARTTLS
  4. Test the connection — GHL should confirm success
  5. Set as your default sending method

Step 6: Test Deliverability

Send a test email from GoHighLevel to:

  1. A Gmail address — check headers for SPF pass, DKIM pass, DMARC pass
  2. An Outlook address — verify it reaches inbox
  3. 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


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.