InvalidSignatureException when sending via SES API – Works in Postman, fails in Plugin (Mautic 5.2.6, etailors AmazonSesBundle)

Your software
My Mautic version is: 5.2.5
My PHP version is: 8.1
My Database type and version is:

Your problem
Hi everyone,

I’m experiencing a problem with sending emails via the etailors_amazon_ses plugin (AmazonSesBundle) in Mautic.

Sending via the SES API works perfectly with my credentials in Postman, but not through the plugin in Mautic.


What works:

  • Sending emails via the SES API using the same AWS IAM credentials and region (eu-west-1) in Postman → works.
  • Test emails via the plugin work, but segment and campaign emails never do.

What does not work:

  • Sending segment or campaign emails via the plugin always results in the following error:

  • InvalidSignatureException (client): The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method.

  • The error persists even after updating to the latest plugin version.

  • Server time is synchronized (UTC), credentials and permissions are correct, region matches.


Example log excerpt:

AWS SES Error: Error executing “SendEmail” on “https://email.eu-west-1.amazonaws.com/v2/email/outbound-emails”; AWS HTTP error: Client error: POST https://email.eu-west-1.amazonaws.com/v2/email/outbound-emails resulted in a 403 Forbidden response: {“message”:“The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details.”}

Payload (shortened):

{ “FromEmailAddress”: “NAME name@example.com”, “Destination”: { “ToAddresses”: [“Vorname_Testcontact_250515_195649 Nachname_Testcontact_250515_195649 email_Testcontact_250515_195649@example.com”] }, “Content”: { “Raw”: { “Data”: “…” } } }


What I have already checked:

  • AWS IAM user has all required permissions (ses:SendEmail, ses:SendRawEmail, ses:GetAccount).
  • Secret key does not contain special characters.
  • Region is set correctly everywhere (eu-west-1).
  • Server time is synchronized (UTC).
  • Latest version of the plugin is installed (manually updated from GitHub).
  • Sending with Postman works using the same credentials and payload.
  • The error also occurs with minimal email content (plain text only, no special characters, no HTML).
  • domain and e-mailadress are verified with AWS

Question/Request:

Are there any known incompatibilities with Mautic 5.x or Symfony?

Could this be related to signature generation for multipart emails or specific headers?

Do you have any tips on how I can further debug or work around this issue?

Thank you for your support!

Mautic 5.0.3 AWS SNS endpoint is not working. GIve a solution to handle bounce and Complaint emails - #51 by benbon - this suggestion did also not work

I found the solution. I documented it directly at the plugins GitHub repository: InvalidSignatureException when sending via SES API – Works in Postman, fails in Plugin (Mautic 5.2.6) · Issue #73 · pm-pmaas/etailors_amazon_ses · GitHub