Post

Using Amazon SES to send email from Umbraco

Configuring AWS SES as the email provider for Umbraco forms and notifications, without managing your own SMTP server.

Amazon SES (Simple Email Service) is a cost-effective way to send transactional email from Umbraco without the overhead of managing your own SMTP infrastructure.

Amazon Configuration

1. Enable Production Access

Verify your AWS account has Production Access enabled for SES in your desired region. Check via AWS > Services > SES > Dashboard — if it shows “Sandbox mode”, you’ll need to request production access (in sandbox mode, you can only send to verified addresses).

2. Create an IAM User

SES authentication uses IAM credentials. Go to AWS > Services > IAM > Users and create a user with SES send permissions. You can share one IAM user across multiple sites, or create dedicated users per client.

3. Verify Your Email/Domain

You must verify the sender identity — either a specific email address or an entire domain:

  • Email verification: Respond to Amazon’s confirmation email
  • Domain verification: Add a TXT record to your DNS settings

Configure this at AWS > Services > SES.

Umbraco Configuration

1. Install Required Packages

Install the Umbraco Contour package and the Contour Contrib package (for SSL support).

2. Enable SSL in AppSettings

<add key="contourContribUseSsl" value="true" />

3. Configure SMTP in web.config

Add your SES SMTP credentials to the mailSettings section:

<network 
  host="email-smtp.XX-XXXX-X.amazonaws.com" 
  port="587" 
  userName="IAM_ACCESS_KEY_ID" 
  password="IAM_SMTP_PASSWORD"
/>

Note: The SES SMTP password is not the same as the IAM secret access key — you need to generate SMTP credentials specifically in the SES console.

4. Set the Sender Email Address

Add your verified email address to umbracoSettings.config in the notifications section:

<email>name@some-domain.com</email>

This email address must be one you’ve already verified with SES (or from a verified domain).

← Back to all posts