DUMB DEV Community

Cover image for A Beginner’s Guide to Amazon SES
Chisom Ejiba
Chisom Ejiba

Posted on

A Beginner’s Guide to Amazon SES

Amazon SES is a simple way to send emails that reach people’s inboxes. Whether you run a business, an app, or just need to send updates
Start small, test carefully, and scale as you grow.

How to Set Up Amazon SES

Step-by-Step:
✅Pick a Region
Choose the AWS location closest to your users or app.

✅Verify Your Domain or Email Address

  • Go to Verified Identities in the SES dashboard.

  • Add your domain (like yourcompany.com) or email.

  • Add the DNS records they give you (this proves you own the address).

  • Wait for confirmation (usually just a few minutes).
    Verify Email

Verify Domain

✅Request Production Access
By default, SES limits you to 200 emails/day.

  • Request full access so you can send more.

✅Set Up Email Security (Authentication)

  • Add SPF and DKIM records to your domain.

These tell email providers that your messages are safe.

Optional: Add a Mail-From domain for more control.

✅Create Your Email Credentials

  • Generate SMTP username and password for sending email.

Only give this access to your app or team (never share publicly).

SMTP

✅Send a Test Email

  • Use Amazon’s simulator, an email client, or a script Make sure it works before you go live.

A Quick way to test if SES works Using SMTP:

✅Open SES in the AWS Console

  • Search for SES and choose your region.

✅Create SMTP Credentials

  • Go to SMTP Settings → Create Credentials

  • Save your username and password (you can’t see them again).

✅Verify Your Sender Email

  • Add the sender’s email address in SES

  • Click the confirmation link from your inbox

✅Send a Test Email

  • Use tools like Thunderbird, Postman, or a simple code script

You’ll need:
SMTP server: email-smtp.us-east-1-amazonaws.com

Port: 587 or 465

Your verified email and the SMTP login details

** How to Send an Email with an AWS Lambda Function **

Lamda Function

Sometimes you want an email to go out automatically when something happens (a new user signs up, a payment is received, and so on). You can do that by invoking a Lambda function that calls Amazon SES.

✅Create Your Lambda Function

  • Go to AWS Console > Lambda > Create function

✅Choose a runtime like Python 3.9

  • Give it permission to use SES (attach a role with ses:SendEmail)

✅Test the Function

  • Click Test in the Lambda console

  • Confirm the email is delivered

✅ Set a Trigger

  • You can trigger this Lambda function from:

API Gateway (after a user fills a form)

S3 upload (when a file is added)

CloudWatch Events (on a schedule)

If you got here, you’re the real MVP.
Let’s connect on LinkedIn 🤓

Top comments (0)