Quick Answer

To connect AWS SES to GoHighLevel: 1) Create an AWS account and navigate to SES, 2) Verify your sending domain (add DNS records), 3) Request production access (exit sandbox), 4) Create SMTP credentials in SES console, 5) In GHL Settings → Email Services → add SMTP with host email-smtp.[region].amazonaws.com, port 587, and your SES SMTP credentials. AWS SES is the cheapest option at $0.10/1K emails, but requires more setup than Mailgun or SendGrid.

GoHighLevel + Amazon SES Setup: Step-by-Step Guide (2026)

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

Why AWS SES for GoHighLevel

Cost. At $0.10 per 1,000 emails, SES is dramatically cheaper than Mailgun ($35/mo for 50K) or SendGrid ($19.95/mo for 50K). For GHL agencies sending high volume across multiple sub-accounts, the savings compound fast.

The trade-off: more setup complexity and less hand-holding than Mailgun or SendGrid. For a provider comparison, see best SMTP for GHL.

Step 1: AWS Account and SES Setup

  1. Create an AWS account at aws.amazon.com
  2. Navigate to Amazon SES in the AWS Console
  3. Select your preferred region (us-east-1 is most common)

Step 2: Verify Your Sending Domain

  1. In SES Console → Verified identitiesCreate identity
  2. Select Domain and enter your sending domain
  3. SES provides DNS records to add:
TypeNameValue
CNAME_amazonses.yourdomain.comSES verification string
CNAMEDKIM selector 1DKIM value 1
CNAMEDKIM selector 2DKIM value 2
CNAMEDKIM selector 3DKIM value 3
  1. Add all records to your DNS
  2. Add SPF include to your domain:
v=spf1 include:amazonses.com [other includes] -all
  1. Add DMARC if not already present:
_dmarc.yourdomain.com  TXT  v=DMARC1; p=none; rua=mailto:[email protected]
  1. Wait for DNS propagation → verify in SES console

Step 3: Exit Sandbox Mode

This is the step most people get stuck on.

New SES accounts are in sandbox mode: you can only send to verified addresses. To send to anyone:

  1. SES Console → Account DashboardRequest Production Access

  2. Fill out the form:

    • Mail Type: Transactional / Marketing (select your primary use)
    • Website URL: Your business website
    • Use case description: Be specific: "We send marketing campaigns and transactional notifications to opted-in subscribers via GoHighLevel CRM. We process bounces via SNS and maintain suppression lists."
    • Expected daily sending volume: Be honest
    • How do you handle bounces and complaints: Describe your process
  3. Submit and wait 24-48 hours for approval

Tips for approval:

  • Mention bounce handling and suppression list management
  • Mention compliance with CAN-SPAM/GDPR
  • Be specific about use case — vague descriptions get denied
  • If denied, resubmit with more detail

Step 4: Create SMTP Credentials

  1. SES Console → SMTP Settings
  2. Click Create SMTP Credentials
  3. This creates an IAM user — note the SMTP username and SMTP password
  4. Save these immediately — the password is shown only once

SMTP Settings for your region:

RegionSMTP Endpoint
US East (N. Virginia)email-smtp.us-east-1.amazonaws.com
US West (Oregon)email-smtp.us-west-2.amazonaws.com
EU (Ireland)email-smtp.eu-west-1.amazonaws.com
EU (Frankfurt)email-smtp.eu-central-1.amazonaws.com

Step 5: Connect to GoHighLevel

  1. GoHighLevel → SettingsEmail ServicesAdd SMTP
  2. Enter:
FieldValue
Hostemail-smtp.us-east-1.amazonaws.com (your region)
Port587
UsernameSES SMTP username
PasswordSES SMTP password
EncryptionSTARTTLS
  1. Test the connection
  2. Send a test email and verify headers show SPF/DKIM/DMARC pass

Monitoring (Important — GHL Won't Show This)

SES delivery data lives in the AWS Console, not GoHighLevel. Set up monitoring:

  1. SES Console → Reputation Dashboard: Shows bounce rate, complaint rate, send volume
  2. CloudWatch Metrics: Set up alarms for bounce rate > 5% or complaint rate > 0.1%
  3. SNS Notifications: Configure bounce and complaint notifications to process programmatically

Critical thresholds: SES automatically suspends your account if:

  • Bounce rate exceeds 10%
  • Complaint rate exceeds 0.5%

Monitor these actively. GHL won't warn you before SES suspends your sending.

Practitioner note: SES sandbox exit is the hurdle. Be thorough in your application — mention specific compliance measures, bounce handling, and suppression lists. Generic applications get denied. I've helped clients resubmit 2-3 times before getting approved because their initial description was too vague.

Practitioner note: For GHL agencies managing 10+ clients, SES is the most cost-effective option at scale. The setup is more complex per-domain, but at $0.10/1K vs Mailgun's $2/1K (Flex plan), the savings at 100K+ monthly emails per client are substantial.

If you want AWS SES configured for your GoHighLevel agency without the AWS learning curve, schedule a consultation — I handle SES setup, sandbox exit, and monitoring configuration.

Sources


v1.0 · March 2026

Frequently Asked Questions

How much does AWS SES cost with GoHighLevel?

SES charges $0.10 per 1,000 emails. At 50K emails/month that's $5. At 500K/month it's $50. Compare to Mailgun at $35-275/month for the same volumes. SES is 5-10x cheaper but requires more configuration.

What is AWS SES sandbox mode?

New SES accounts start in sandbox mode — you can only send to verified email addresses. To send to anyone, you must request production access through AWS Support. This typically takes 24-48 hours and requires explaining your use case and demonstrating bounce/complaint handling.

Is AWS SES harder to set up than Mailgun?

Yes. SES requires AWS account setup, IAM user creation, sandbox exit request, SMTP credential generation, and configuring bounce/complaint handling via SNS. Mailgun is sign up → verify domain → get credentials. If you want the cheapest option and have technical comfort with AWS, SES wins. For simplicity, use Mailgun.

Does AWS SES work well with GoHighLevel?

Yes, once properly configured. The SMTP connection works the same as Mailgun or SendGrid. The main limitation is the same as any custom SMTP in GHL: you only see opens and clicks, not delivery/bounce data. Monitor delivery at the SES console.

Can I get a dedicated IP on AWS SES?

Yes, at $24.95/month per IP. SES also offers 'managed dedicated IPs' that auto-warm. At GHL volumes, a dedicated IP is worth considering once you're sending 50K+/month consistently.

Want this handled for you?

Free 30-minute strategy call. Walk away with a plan either way.