Skip to content

SES SMTP AUTH returns 535 from one source IP, succeeds with same (correctly-derived) credentials from another

0

Hello,

I'm seeing inconsistent SMTP authentication behavior on Amazon SES and would like to understand if this is expected.

Setup:

Region: eu-west-3 SMTP endpoint: email-smtp.eu-west-3.amazonaws.com, port 587 (STARTTLS) IAM user with the standard AmazonSesSendingAccess policy (no Condition block, fully permissive, verified in the IAM console)

Important clarification up front: this is not a "raw Secret Access Key used as SMTP password" issue. The SMTP password was correctly derived from the IAM Secret Access Key using the standard documented algorithm (HMAC-SHA256 chain, AWS4 + region + "ses" + "aws4_request" + "SendRawEmail", base64-encoded) — I computed it independently with a script and confirmed it matches AWS's behavior, since it authenticates successfully in one context (see below).

The issue: Using the exact same, correctly-derived SMTP credentials:

From a residential/personal network → 235 Authentication successful From a shared web hosting provider's IP (mutualized hosting, many tenants on the same server) → 535 Authentication Credentials Invalid

Both tests were done with raw SMTP (openssl s_client -starttls smtp, full EHLO / STARTTLS / AUTH LOGIN sequence), completely outside of any application, using the identical username/password pair each time. The hosting provider's engineer reproduced the failing test independently on their end, confirming it's not a client-side quirk on my machine.

What I've already ruled out:

Network/firewall blocking — TCP/TLS connection to the SES endpoint establishes correctly from both locations (confirmed via netstat on the hosting side) Public IP denylisting — checked via a standard lookup tool (MXToolbox), no entries found for the hosting IP IAM policy restrictions — no Condition block, no IP restriction on the policy attached to the sending group Credential encoding/copy-paste errors — tested with base64-encoded values directly, both from the AWS-provided SMTP password and from an independently computed one, same result Application-level issue — reproduced the same failure with a bare Python smtplib script and raw openssl, no email client or application involved

My question: Is there a known reputation-based or anti-abuse mechanism on the SES SMTP interface that could reject authentication (not just throttle/limit sending) based on source IP reputation, separate from public denylists? Since the failing IP is shared among many hosting customers, could another tenant's past behavior affect SES's acceptance of authentication attempts from that IP specifically — and if so, is there a way to check or request a review of this from the AWS side?

Alternatively, would migrating to the SES API (SigV4 over HTTPS) sidestep this entirely, since it doesn't use this SMTP AUTH path?

Thanks for any guidance.

1 Answer
0

Amazon SES does not reject SMTP authentication based on IP reputation; a “535 Authentication credentials invalid” error always indicates a credential mismatch or region mismatch, not IP blocking, you may verify that you are using SES‑generated SMTP credentials for the correct region, and if authentication fails from one source but succeeds from another, the issue is almost always due to how credentials are encoded or presented by the client, not SES filtering by IP.

https://repost.aws/knowledge-center/ses-authentication-credentials-error

https://docs.aws.amazon.com/ses/latest/dg/troubleshoot-smtp.html

EXPERT

answered 17 days ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.