Email Providers

EmailSendX routes all outgoing email through a provider you connect. Bring your own Amazon SES, Mailgun, SendGrid, Postmark, Resend, Brevo, or any SMTP server. Your costs flow through your own account, and you maintain full ownership of your sender reputation.

Overview

EmailSendX is a bring-your-own-provider platform. Instead of charging a per-email fee, EmailSendX charges for platform features while actual email delivery costs flow through your existing provider accounts. This means:

  • Lower costs at scale: AWS SES charges $0.10/1,000 emails. At 500K emails/month, that's $50 — compared to $200–500 with all-inclusive platforms.
  • Reputation ownership: your sending IP reputation belongs to your provider account, not a shared pool.
  • No vendor lock-in: switch providers at any time without migrating away from EmailSendX.

EmailSendX handles all the plumbing: throttling sends to respect provider rate limits, processing bounces and complaints (updating contact statuses automatically), managing unsubscribes, and routing traffic across multiple providers if configured.

Amazon SES

Amazon Simple Email Service is the most cost-effective choice for high-volume sending. At $0.10 per 1,000 emails with no monthly minimums, it's ideal for sending more than 10,000 emails per month.

Step-by-step setup

  1. Create an IAM user: In the AWS Console, go to IAM → Users → Create user. Name it emailsendx-sender.
  2. Attach an IAM policy: Attach the policy below to grant only the permissions needed for sending.
  3. Generate SMTP credentials: On the user's Security credentials tab, click Create SMTP credentials. Download the credentials — the SMTP password is shown only once.
  4. Find your SMTP endpoint: The endpoint format is email-smtp.[region].amazonaws.com. Check your active region in the top-right of the AWS console.
  5. Add to EmailSendX: Go to Workspace Settings → Email Providers → Add Provider → Amazon SES. Enter your endpoint, port (587), SMTP username, and SMTP password.
  6. Verify a sending identity: In AWS SES, verify your sending domain (recommended) or individual email address. EmailSendX's domain verification flow will generate the necessary DNS records.
json
// Minimal IAM policy for EmailSendX (attach to your IAM user)
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "EmailSendXSend",
      "Effect": "Allow",
      "Action": [
        "ses:SendEmail",
        "ses:SendRawEmail"
      ],
      "Resource": "*"
    },
    {
      "Sid": "EmailSendXMonitor",
      "Effect": "Allow",
      "Action": [
        "ses:GetSendQuota",
        "ses:GetSendStatistics",
        "ses:GetIdentityVerificationAttributes"
      ],
      "Resource": "*"
    }
  ]
}

SES sandbox mode

New AWS accounts are placed in the SES sandbox. While in sandbox mode, you can only send to verified email addresses and your daily quota is 200 emails. To send to real audiences, request production access under SES → Account dashboard → Request production access in the AWS console. Approval typically takes 24–48 hours. Provide details about your use case, opt-in method, and expected sending volume for faster approval.

Generic SMTP

Use any SMTP server with EmailSendX — your own mail server, a self-hosted Postfix/Haraka instance, or a provider not listed explicitly. You need four pieces of information:

Host:     mail.yourdomain.com
Port:     587
Security: STARTTLS
Username: smtp-user@yourdomain.com
Password: [your SMTP password]

After entering your credentials, click Test Connection. EmailSendX will attempt to authenticate and send a probe message. A green checkmark means you're ready to send.

Port 587 with STARTTLS is the modern standard and recommended for most setups. Use port 465 only if your server requires it. Port 25 is blocked on most cloud providers (AWS, GCP, Azure) and is not supported.

Postmark

Postmark specializes in transactional email with industry-leading deliverability and detailed per-email activity logs.

  1. Log in to your Postmark account.
  2. Go to Servers → [Your Server] → API Tokens.
  3. Copy the Server API token (it starts with a long alphanumeric string).
  4. In EmailSendX, go to Email Providers → Add Provider → Postmark and paste the token.
Postmark separates transactional and broadcast streams. For campaign sending, make sure your server has the Broadcast sending stream enabled in your Postmark account. Using the transactional stream for bulk campaigns violates Postmark's terms of service.

Mailgun

Mailgun is a developer-focused email API with strong deliverability and flexible routing options.

  1. Log in to app.mailgun.com.
  2. Go to Settings → API Keys and copy your Private API key.
  3. Note your sending domain (e.g., mg.yourdomain.com) from Sending → Domains.
  4. In EmailSendX, go to Email Providers → Add Provider → Mailgun. Enter your API key, domain, and select US or EU region.

US vs EU region

If your Mailgun account was created on the EU region (api.eu.mailgun.net), select EU in EmailSendX. Using the wrong region will result in authentication errors.

SendGrid

SendGrid is one of the most widely used email delivery platforms, known for its analytics and deliverability tooling.

  1. Log in to app.sendgrid.com.
  2. Go to Settings → API Keys → Create API Key.
  3. Choose Restricted Access and enable Mail Send → Full Access. No other permissions are needed.
  4. Copy the generated API key (shown only once).
  5. In EmailSendX, go to Email Providers → Add Provider → SendGrid and paste the key.

Resend

Resend is a modern email API built for developers, with a clean dashboard and excellent Next.js/React Email integration.

  1. Log in to resend.com.
  2. Go to API Keys → Add API Key. Name it emailsendx.
  3. Select Full access and click Add. Copy the key (shown only once).
  4. In EmailSendX, go to Email Providers → Add Provider → Resend and paste the key.

Brevo (formerly Sendinblue)

Brevo offers both SMTP and API sending options. Either works with EmailSendX.

  1. Log in to app.brevo.com.
  2. Go to SMTP & API → API Keys → Generate a new API key. Copy the key.
  3. Alternatively, for SMTP: go to SMTP & API → SMTP to find your SMTP hostname, port, login, and master password.
  4. In EmailSendX, add a provider and choose Brevo for API mode or SMTP for SMTP mode.

Gmail OAuth

Connect a Gmail or Google Workspace account via OAuth. EmailSendX will send on behalf of your Google account without storing your password.

  1. Go to Email Providers → Add Provider → Gmail OAuth.
  2. Click Connect with Google and authorize EmailSendX in the Google OAuth consent screen.
  3. Select the Gmail account to connect.

Google sending limits

Gmail and Google Workspace accounts are subject to Google's sending limits: 500 emails per day for personal Gmail, and 2,000 emails per day for Google Workspace accounts. These limits are enforced by Google, not EmailSendX. Gmail OAuth is best suited for transactional testing or very small sends — not for bulk campaigns. For production campaigns, use Amazon SES, SendGrid, or another high-volume provider.

Using Multiple Providers

You can connect multiple email providers to a single workspace. This is useful for:

  • Reputation isolation: use one SES account for transactional emails and another for marketing campaigns to prevent newsletter bounces from affecting transactional delivery.
  • Failover: configure a secondary provider that activates if the primary has an outage.
  • Cost optimization: route high-volume sends through SES and low-volume/high-priority sends through Postmark.

When creating a campaign, you can select which provider to use from a dropdown. If no provider is selected, the workspace's default provider is used. Set the default under Workspace Settings → Email Providers → [provider name] → Set as Default.

Bounce and complaint handling is provider-agnostic — EmailSendX processes webhooks from all connected providers and updates contact statuses automatically regardless of which provider delivered the email.

Connect your email provider

Link Amazon SES, Mailgun, SendGrid, or any SMTP server to start sending campaigns with your own infrastructure.