The Amazon SES Connector Plugin enables seamless integration between Odoo and Amazon Simple Email Service (SES), allowing all outgoing emails from Odoo to be sent through Amazon SES using the AWS SDK. This integration improves email deliverability, scalability, and overall performance of the email communication system.
The plugin also supports the configuration of Amazon Simple Notification Service (SNS) to receive real-time notifications for email delivery, bounce, and complaint events. These events are automatically captured and stored within Odoo, enabling effective monitoring, tracking, and analysis of email activities.
In addition, the plugin includes a custom unsubscribe mechanism that allows recipients to securely opt out of future communications. A re-subscription option is also provided, enabling partners or recipients to opt back in and resume receiving emails when required.
Key Features
- Send all Odoo emails via Amazon SES using AWS SDK.
Instead of using Odoo’s traditional SMTP servers, the system routes every outgoing email through Amazon SES using the AWS SDK (SESv2).
- Configure SNS to receive real-time Delivery, Bounce, and Complain events - Amazon SNS (Simple Notification Service) is configured to receive all events from SES, such as
o Delivery → Email reached the recipient’s mail server
o Bounce → Recipient’s email address is invalid, mailbox full, or blocked
o Complaint → Recipient marked the email as spam
- Store SNS notifications in a custom model for email analytics.
A custom Odoo model is created to store all SNS event payloads. And this payload also stores in Odoo mail record.
- Add Unsubscribe link in every outgoing email using a secure token.
Each outgoing email automatically includes an unsubscribe link containing a secure token. When a recipient clicks the link: -
o They are taken to a custom Odoo controller
o The system verifies the token
o The partner is marked as unsubscribed or added to a blacklist
o Future emails to the recipient are blocked
- Resubscribe partners to allow future communication.
A Re-subscribe button is added to the Partner form in Odoo.
When clicked:
- The partner is removed from the blacklist.
- They can receive emails again.
Amazon Web Services (AWS) Prerequisites
Before configuring the Amazon SES Plugin in Odoo, the required setup must be completed in the Amazon Web Services (AWS) console. These steps are mandatory to allow Odoo to authenticate with Amazon SES, send emails, and receive delivery, bounce, and complaint notifications.
Amazon Web Services (AWS) Prerequisites
1. Log in to the AWS Management Console.
2. Navigate to IAM → Users.
3. Create a new IAM user (for example: odoo_ses_user).
This IAM user will be used by Odoo to authenticate with Amazon SES using the AWS SDK

Figure 1: IAM user summary page
Attach Required IAM Permissions
Attach the following AWS managed policies to the IAM user:
- AmazonSESFullAccess
- AmazonSNSFullAccess
These permissions are required to:
- Send emails using Amazon SES
- Publish and receive SNS notifications for Delivery, Bounce, and Complaint events
Without these permissions, email sending and event tracking will not function correctly

Figure 2: IAM Permissions
Generate AWS Access Keys
1. Open the IAM user created for Amazon SES.
2. Navigate to Security credentials.
3. Create a new Access Key.
4. Select Application running outside AWS when prompted.
5. Copy and securely store the following credentials:
a. Access Key ID
b. Secret Access Key
Important:
The AWS Secret Access Key is displayed only once during creation. If the secret key is lost, a new access key must be generated, and the old one must be deactivated.

Figure 3: AWS Access Keys
Verify Amazon SES Region
Amazon SES is a region-specific service.
1.Identify the AWS region where Amazon SES is configured (for example: Europe (Stockholm)).
2. Ensure the same region is selected later in the Odoo Amazon SES configuration.
A region mismatch between AWS and Odoo will cause connection and email delivery failures.

Figure 4: AWS Region Selection
Verify Sender Email or Domain Identity
1. Navigate to Amazon SES → Configuration → Identities.
2. Verify at least one Email Address or Domain.
3. Use a verified identity as the Default From Email in Odoo.
Emails sent from unverified identities will be rejected by Amazon SES.

Figure 5: AWS Verified Users
Odoo Configuration & Usages
Install the Module
- In the Apps search bar, type: Amazon SES Email Service.
- The module will appear in the search results.
- Click the Install button.
- Wait for Odoo to finish installing and updating menus.
- The module is now active.

Figure 6: Plugin Install Page
Amazon SES Configuration User Access
- Give User Access to access the AWS SES Configuration Menu

Figure 7: Amazon SES Group Access
- Navigate to AWS SES Configuration → AWS SES Configuration → Click → New
- AWS Access Key ID - Enter AWS Access Key ID for authentication.
- AWS Secret Access Key - Enter AWS Secret Access Key for authentication.
- AWS Region - Select the AWS region where your SES is configured.
- Default From Email - Set a default sender email (must be verified in AWS SES).
- Click on the Test SES Connection Button to establish the connection with Amazon SES.

Figure 8: Amazon SES Configuration
Send all Odoo emails via Amazon SES using AWS SDK.
- Instead of using Odoo’s traditional SMTP servers, the system routes every outgoing email through Amazon SES using the AWS SDK (SESv2).
- The plugin automatically intercepts Odoo’s email flow and sends emails through SES programmatically using SES API calls.

Figure 9: Odoo Send Email Interface

Figure 10: Outgoing email via Amazon SES
Configure SNS to receive real-time Delivery, Bounce, and Complaint events
- Navigate to AWS SES Configuration → AWS SES Configuration → Click → Test SNS Connection.

Figure 11: Amazon SNS Configuration
- Amazon SNS (Simple Notification Service) is configured to receive all events from SES, such as:
o Delivery → Email reached the recipient’s mail server
o Bounce → Recipient’s email address is invalid, mailbox full, or blocked
o Complaint → Recipient marked the email as spam
- These events are published by SES to an SNS topic, which sends them to an HTTPS endpoint in Odoo.
- This enables real-time monitoring of email status inside Odoo.
- Make Sure your subscription URL must be confirmed in the amazon SNS as shown on the below Image

Figure 12: Amazon SNS Configured URL In AWS.
Store SNS notifications
- Store SNS notifications in a custom model for email analytics.
- Navigate to AWS SES Configuration → AWS SNS Message.

Figure 13: SNS Notification Messages
- And storing these SNS notification on Odoo mail model.

Figure 14: SNS Notification Messages in Odoo Email
Add Unsubscribe link in every outgoing email using a secure token
Each outgoing email automatically includes an unsubscribe link containing a secure token.
When a recipient clicks the link:
- They are taken to a custom Odoo controller.
- The system verifies the token.
- The partner is marked as unsubscribed or added to a blacklist.
- Future emails to the recipient are blocked.

Figure 15: Unsubscribe Link

Figure 16: Unsubscribe Page.
Resubscribe partners to allow future communication
A Re-subscribe button is added to the Partner form in Odoo.
- Navigate to Contacts → Open Contact form → Click on Re-Subscribe Email Button.
- When clicked:
o The partner is removed from the blacklist.
o They can receive emails again

Figure 17: Resubscribe Button
Disable AWS SES Configuration
The AWS Configuration can be disabled by clicking on the radio button showing Active. The disabled AWS configuration will get archived and will be removed from the list view. To access it again we must filter the archived records

Figure 18: Disable AWS SES Configuration
Technical Requirements & Compatibility
- Technical Requirements:
o Required Odoo modules: Mail, Contacts (must be installed and enabled).
- Compatibility:
o Compatible with Odoo Community Edition and Odoo Enterprise Edition v19.0.
Change Log / Release Notes
- Version 1.0.0 – March 2026
o Initial release
Support
If you have questions, use our contact form at webshopextension.com or email at support@webshopextension.com.



























































































