Prerequisites

Before you begin, ensure you have:

  • An AWS account with administrative access
  • Necessary permissions to create IAM roles/users and SES resources
  • Access to AWS Console

If you don’t have an AWS account, you can create one here.

Authentication Options

SuprSend supports two authentication methods for Amazon SES integration:

IAM Role-based authentication is the recommended approach as it:

  • Provides temporary, scoped access
  • Eliminates the need for long-term credentials
  • Follows security best practices

Integration Steps to connect AWS SES with SuprSend

1

Create SES Verified Identity

  • Open AWS SES console
  • Navigate to Verified Identities tab
  • Add and verify either:
    • An email address
    • A domain/subdomain
  • Follow AWS documentation for detailed steps
2

Create Configuration Set

Configuration-set is a ruleset applied to send-email. In configuration-set you can specify to track events (e.g. send, delivery, open, click, bounce, complaint etc.) and send these to an event destination. Refer to the documentation on how to create configuration sets.

  • Go to SES console → Configuration sets
  • Click Create set
  • Configure:
    • Name: ses_suprsend_configset
    • IP Pool: Select your pool or use default
  • Click Create Set
3

Manage Event Destinations

Event destinations are used to send email delivery events to SuprSend for tracking notification status (send, delivery, open, click, bounce, complaint etc.) for logs and analytics. To setup event destination,

  • Select your configuration set
  • Go to Event Destinations tab
  • Click Add destination
  • Configure:
    • Event Types: Select all
    • Destination Type: Amazon SNS
    • Enter a destination Name. eg: ses_suprsend_configset_destination
    • Make sureEvent publishingis markedEnabled.
    • Select an SNS topic from the dropdown (or create a new topic) for events destination.
  • Review and add destination
4

Configure SNS Topic Permissions

After setting up the configuration set and SNS topic for email events, you’ll need to grant SuprSend permission to subscribe to your SNS topic. This is done through AWS’s cross-account SNS subscription feature, which allows external AWS accounts (like SuprSend’s) to receive notifications from your SNS topics. For detailed information about cross-account SNS subscriptions, see the AWS documentation.

  • Go to SNS Console → Topics
  • Select the topic created in previous step
  • Edit Access Policy
  • On the edit page, expand theAccess Policysection. The policy looks something like below. You’ll notice that the current policy givessns:Publishpermission to your SES account.
    {
    "Version": "2008-10-17",
    "Statement": [
      {
        "Sid": "stmt1651045546197",
        "Effect": "Allow",
        "Principal": {
          "Service": "ses.amazonaws.com"
        },
        "Action": "sns:Publish",
        "Resource": "arn:aws:sns:topic_region:111122223333:topic_name",
        "Condition": {
          "StringEquals": {
            "AWS:SourceAccount": "111122223333"
          },
          "StringLike": {
            "AWS:SourceArn": "arn:aws:ses:*"
          }
        }
      }
    ]
  }
5

Add policy to give`sns:Subscribe`permission

Next you need to add a policy to givesns:Subscribepermission to SuprSend (Account: 924219879248). Add below json inside theStatementlist: (replace the “Resource” value with your “Resource” value)

{
    "Effect":"Allow",
    "Principal":{
        "AWS":"924219879248"
    },
    "Action":"sns:Subscribe",
    "Resource":"arn:aws:sns:topic_region:111122223333:topic_name"
}

So in effect, the whole policy would look like this. Verify the policy and click on Save.

  {
    "Version": "2008-10-17",
    "Statement": [
      {
        "Sid": "stmt1651045546197",
        "Effect": "Allow",
        "Principal": {
          "Service": "ses.amazonaws.com"
        },
        "Action": "sns:Publish",
        "Resource": "arn:aws:sns:topic_region:111122223333:topic_name",
        "Condition": {
          "StringEquals": {
            "AWS:SourceAccount": "111122223333"
          },
          "StringLike": {
            "AWS:SourceArn": "arn:aws:ses:*"
          }
        }
      },
      {
        "Effect":"Allow",
        "Principal":{
          "AWS":"924219879248"
        },
        "Action":"sns:Subscribe",
        "Resource":"arn:aws:sns:topic_region:111122223333:topic_name"
    }
    ]
  }
6

Fill Vendor settings page on Suprsend

On the SuprSend dashboard, go to vendor page from side panel and click Email -> Amazon SES from the list of Vendors. This will open vendor details page as shown below:

Here’s a description on what each of these form fields describe:

Form FieldDescription
NicknameYou can give any name which may help you to identify this account easily. For example - AWS SES [Production]
From EmailDefault ‘From Email ID’ that email will go from. You can override this in the individual template.*eg. support@suprsend.com
From NameDefault ‘From Name’ that email will go from. You can override this in the individual template.eg. SuprSend
Reply AddressDefault ‘Reply To Email id’ on which replies are received. You can override this in the individual template.*eg. support@suprsend.com
AWS regionaws-region you are going to use for sending emails.
Access Key IDAccess key ID of the IAM user with full access. Refer step to create a new IAM user and generate access key.
Secret Access KeySecret-Access-Key of the IAM user with full access. Refer step to create a new IAM user and generate access key.
Configuration SetConfiguration-set is used to track email events (e.g. send, delivery, open, click, bounce, complaint etc.). Refer Step to define configuration set.
SNS Topic ARNThis is the destination where the tracked events will be sent. Configuration set defines what events to be tracked and setting the topic allows SuprSend to receive these events. Follow step 4 & 5 to setup SNS topic and give SuprSend permission to subscribe to it.
Price per notificationThis is the amount you pay per email notification to AWS. It helps us to calculate, estimate and optimise your cost spent on notifications.

Setting Amazon SES event tracking

One of the platform advantage of using SuprSend as a central communication system is that it shows notification analytics for all channels in your SuprSend account together. For enabling event tracking at SuprSend (such as delivery, opened, blocked, spam etc.), you’ll have to sns:Subscribeaction to SuprSend.

Once you’ve filled in the required fields and saved your changes on the vendor configuration page in the SuprSend platform, you’ll need to manually click the Subscribe button to initiate the subscription to your specified SNS Topic ARN. This step is necessary to enable Email Tracking and ensure that notification delivery and failure logs are properly tracked.

If any changes are made to the SNS configuration after a successful subscription, you can click the Resubscribe button to re-establish the subscription using the latest configuration. This ensures your email tracking setup stays consistent and up to date.

Successfully Subscription as:

It’s recommended to allow recipients to unsubscribe from emails. You can use SuprSend’s hosted preference page for giving granular control to your users, allowing them to manage preferences per category while also reducing unnecessary vendor API calls for opt-outs.

Why it’s important to give unsubscribe option in email?

First, it is required by the CAN-Spam Act. Second, if you don’t give them this option, they are more likely to click on the spam complaint button, which will cause more harm than allowing them to unsubscribe. Finally, many ESPs look for unsubscribe links and are more likely to filter your email if they don’t have them.