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).