All AWS API require that every request be signed. However, the signature needs to conform to what is called AWS signature version 4, (which is different from hashing)

http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html

My advice is that you shouldn't try to replicate that process, but use AWS SDK

http://docs.aws.amazon.com/aws-sdk-php/v3/guide/getting-started/basic-usage.html

Answer from Gonfva on Stack Overflow
🌐
AWS-SES-API
dragonsbreath.github.io › AWS-SES-API
AWS-SES-API | A simplified cross-platform Java library for sending emails using the Amazon Simple Email Service.
import java.io.File; import org.java.api.aws.ses.SESClientBuilder; import org.java.api.aws.ses.SESEmailMessage; import com.amazonaws.regions.Regions; public Class AamazonSES{ private final String defaultFromEmail = "[email protected]"; // This should be an AWS verified email address.
Top answer
1 of 2
2

All AWS API require that every request be signed. However, the signature needs to conform to what is called AWS signature version 4, (which is different from hashing)

http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html

My advice is that you shouldn't try to replicate that process, but use AWS SDK

http://docs.aws.amazon.com/aws-sdk-php/v3/guide/getting-started/basic-usage.html

2 of 2
1

Update

At some point after this answer was written, most of the information about Signature Version 3 has been removed from the AWS docs. The documentation at the link mentioned below is still present, but the page no longer describes how to actually sign requests using Signature Version 3. It does still mention that SES supports both Signature V3 and V4, but it also states that Signature V4 is recommended.

For the historically curious, the instructions for signing SES requests using Signature Version 3 can still be found at an archived version of the page but using (or switching to) Signature Version 4 would be the future-proof course of action, as it is highly unlikely for Signature V3 to be supported if SES launches any new regions in the future (Signature V2 has not been supported in any region launched since 2014, but SES does not have endpoints in any of those regions).

Signature V3 had significant limitations compared to Signature V4, so it may at some point (or may already) be deprecated and may eventually be discontinued.

tl;dr: Always use Signature Version 4.

https://docs.aws.amazon.com/ses/latest/DeveloperGuide/query-interface-authentication.html explains how to use Signature Version 3 with SES to sign requests you will submit over HTTPS.

This is an algorithm that is different from most other AWS services, but is very simple to implement. The standard Signature V4 is also supported by SES.

Discussions

How to send email with Amazon SES using a pure HTTP request? - Stack Overflow
I want to send email using the Amazon SES without using aws-sdk. I need to send it using just a pure HTTP request. In other words, how can I send email with Amazon SES using cURL? ... SES is email service. It doesn't have HTTP interface; only SMTP. ... well - this is API reference. More on stackoverflow.com
🌐 stackoverflow.com
Amazon Simple Email Service (SES) - Should I use SMTP Interface or SES API? - Stack Overflow
Apart from this, I have not been able to find any other major differences between the API and SMTP. ... This documentation has moved to docs.aws.amazon.com/ses/latest/DeveloperGuide/… 2020-06-17T05:31:45.397Z+00:00 More on stackoverflow.com
🌐 stackoverflow.com
We built an open-source, self-hosted email API - an alternative to AWS SES, Mailgun, Sendgrid
Mad props if only for taking on something so bold. Genuinely wish you the best of luck here. More on reddit.com
🌐 r/selfhosted
46
163
2 weeks ago
API Mailer for AWS SES
Best of luck More on reddit.com
🌐 r/Wordpress
6
9
June 12, 2025
🌐
AWS
docs.aws.amazon.com › amazon simple email service › developer guide › set up email sending with amazon ses › using the amazon ses api to send email
Using the Amazon SES API to send email - AWS Documentation
Alternatively, you can assemble the email yourself so that you have complete control over the content of the message. For more information about the API, see the Amazon Simple Email Service API Reference. For a list of endpoint URLs for the AWS Regions where Amazon SES is available, see Amazon ...
🌐
AWS
docs.aws.amazon.com › amazon ses documentation › api v2 reference › welcome
Welcome - Amazon Simple Email Service
Welcome to the Amazon SES API v2 Reference. This guide provides information about the Amazon SES API v2, including supported operations, data types, parameters, and schemas.
🌐
AWS
docs.aws.amazon.com › amazon ses documentation › api reference › actions › sendemail
SendEmail - Amazon Simple Email Service
This email address must be either individually verified with Amazon SES, or from a domain that has been verified with Amazon SES. ... This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the email address specified in the ReturnPath parameter. For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to use [email protected], then you would specify the ReturnPathArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the ReturnPath to be [email protected].
🌐
AWS
docs.aws.amazon.com › ses
Amazon Simple Email Service Documentation
Free delivery on millions of items with Prime. Low prices across earth's biggest selection of books, music, DVDs, electronics, computers, software, apparel & accessories, shoes, jewelry, tools & hardware, housewares, furniture, sporting goods, beauty & personal care, groceries & just about anything else.
Find elsewhere
🌐
Amazon Web Services
boto3.amazonaws.com › v1 › documentation › api › latest › reference › services › ses.html
SES - Boto3 1.42.9 documentation
This document contains reference information for the Amazon Simple Email Service (Amazon SES) API, version 2010-12-01.
🌐
Medium
medium.com › @kickthebar.academy › how-to-use-aws-api-gateway-and-aws-ses-to-send-emails-from-your-web-application-b9863228d33a
How to use AWS API Gateway and AWS SES to send emails from your web application | by Kickthebar Academy | Medium
July 15, 2023 - The integration works by connecting API Gateway with SES and invoking the API endpoint URL by submitting a json body containing the email elements in the POST request to the API. The following steps are involved in accomplishing this task: ... Click on “Create Identity” and choose Email Address as the identity type, then enter an email address you’d like to use as the sender or from address. Click “Create Identity”. AWS SES will send a verification email to the address you specified.
🌐
GitHub
github.com › cloudyr › aws.ses
GitHub - cloudyr/aws.ses: Amazon Email Service (SES) API Client
aws.ses is a simple client package for the Amazon Web Services (AWS) Simple Email Service (SES) API, which can be used to send email messages.
Starred by 7 users
Forked by 10 users
Languages   R 94.1% | Shell 5.9%
🌐
Amazon Web Services
boto3.amazonaws.com › v1 › documentation › api › 1.19.0 › reference › services › ses.html
SES — Boto3 Docs 1.19.0 documentation
An object that describes the AWS service that email sending event information will be published to. ... The name of the event destination. The name must: This value can only contain ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-). Contain less than 64 characters. ... Sets whether Amazon SES publishes events to this destination when you send an email with the associated configuration set.
🌐
Frontegg
developers.frontegg.com › guides › integrations › third-party › email › amazon-ses
Amazon SES
The credentials you receive should be used in the ses field of the API call, as shown below: When using the ses-role option, you will need to assume a role with Amazon. This will provide you with temporary security credentials (i.e., Access Key ID, Secret Access Key, and Security Token) that grant you the permissions defined by that role. When invoking your POST request using ses-role as your provider, you will need to fill the secret field with the Amazon Resource Name (ARN) for an AWS Identity and Access Management (IAM) role you generated.
🌐
AWS
docs.aws.amazon.com › aws sdk for .net › developer guide › sdk for .net code examples › amazon ses api v2 examples using sdk for .net
Amazon SES API v2 examples using SDK for .NET - AWS SDK for .NET (V3)
The following code examples show you how to perform actions and implement common scenarios by using the AWS SDK for .NET with Amazon SES API v2.
🌐
Amazon Web Services
aws.amazon.com › products › business applications › amazon simple email service
Email Service Provider — Amazon Simple Email Service (Amazon SES) — AWS
4 days ago - Deliver messages—including transactional and promotional— by configuring Amazon SES within your business's applications.
🌐
Pipedream
pipedream.com › apps › amazon-ses
Amazon SES API Integrations - Pipedream
When you connect your Amazon SES account, Pipedream securely stores the keys so you can easily authenticate to Amazon SES APIs in both code and no-code steps. Follow the AWS Instructions for creating an IAM user with an associated access and secret key, with the minimum IAM permissions necessary to send email or hit the desired SES APIs from Pipedream.
🌐
AWS
docs.aws.amazon.com › amazon ses mail manager › amazon ses mail manager api reference › welcome
Welcome - Amazon SES Mail Manager API
The Amazon SES Mail Manager API contains operations and data types that comprise the Mail Manager feature of Amazon Simple Email Service (SES)