Back to Documentation

AWS SES Setup Guide

Configure your AWS credentials for email sending

10 min read Last updated: January 2026

Why AWS SES?

Mailat uses Amazon Simple Email Service (SES) for email delivery because:

  • Your Own Reputation

    Build and maintain your own sender reputation, separate from other users

  • High Deliverability

    AWS SES has excellent inbox placement rates when configured properly

  • Cost Effective

    Pay only for what you send ($0.10 per 1,000 emails)

  • Full Control

    Manage your sending limits, domains, and credentials in your AWS account

Prerequisites

Important: Production Access Required

Your AWS SES account must be out of sandbox mode to send emails to unverified addresses. New AWS accounts start in sandbox mode by default.

To request production access, go to AWS SES Console → Account Dashboard → Request Production Access.

Step 1: Create an IAM User

  1. 1.1 Open IAM Console

    Go to AWS IAM Console

  2. 1.2 Create New User

    Navigate to Users → Create User

    • User name: mailat-ses (or any name)
    • Do NOT enable console access (API access only)
  3. 1.3 Set Permissions

    Mailat requires these 4 AWS managed policies. Attach them to your IAM user:

    AmazonSESFullAccess- Email sending
    AmazonS3FullAccess- File storage & attachments
    AmazonSNSFullAccess- Bounce & complaint notifications
    AWSCertificateManagerFullAccess- SSL certificates

    Quick Setup: In IAM Console → Users → Your User → Add permissions → Attach policies directly

    Search for each policy name and select them, then click "Add permissions"

    Open AWS IAM Console

Step 2: Generate Access Keys

  1. 2.1 Open User Details

    In IAM Console, click on the user you just created

  2. 2.2 Create Access Key

    Go to Security credentials → Create access key

    • Select "Application running outside AWS"
    • Add a description (e.g., "Mailat Email Server")
  3. 2.3 Save Your Credentials

    Save these credentials immediately!

    The Secret Access Key is only shown once. If you lose it, you'll need to create new credentials.

    Access Key ID:AKIA...
    Secret Access Key:wJalr...

Step 3: Note Your SES Region

AWS SES is region-specific. Make sure to use the same region where your SES is configured.

Common SES regions:

  • us-east-1US East (N. Virginia)
  • us-west-2US West (Oregon)
  • eu-west-1EU (Ireland)
  • eu-central-1EU (Frankfurt)

Check your SES Console URL to find your region (e.g., console.aws.amazon.com/ses/home?region=us-east-1)

Step 4: Enter Credentials in Mailat

  1. 1

    Log in to your Mailat dashboard

  2. 2

    Go to the Setup page (or Server Settings)

  3. 3

    Enter your AWS credentials:

us-east-1
AKIAIOSFODNN7EXAMPLE
wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

Your credentials are encrypted with AES-256 before being stored.

Troubleshooting

"Invalid credentials" error

  • Double-check the Access Key ID and Secret Access Key
  • Ensure there are no extra spaces or characters
  • Verify the IAM user has SES permissions

"Account is in sandbox" error

  • Request production access in AWS SES Console
  • Sandbox mode only allows sending to verified emails
  • Production access typically takes 24-48 hours to approve

"Region mismatch" error

  • Make sure you selected the correct AWS region
  • SES configuration is region-specific
  • Your verified domains/emails are per-region

Next Steps