For consultants or agencies managing Amazon SES on behalf of several clients, what setup works best in practice? Do you keep each client's sending in their own AWS account, or operate everything from an agency-owned account? How do clients grant access without sharing long-lived credentials? Also, which parts of onboarding and ongoing SES management tend to take the most time?
5 Answers
The biggest operational headache is usually onboarding: getting each account out of the SES sandbox, verifying domains, configuring SPF and DKIM, and warming up sending volume. After that, the recurring challenge is explaining deliverability issues when messages start landing in spam, especially alignment and list-quality problems.
The ownership model depends on the contract, but client-owned AWS accounts are generally cleaner when the client should retain control of the infrastructure and sending reputation. Infrastructure-as-code helps a lot because you can apply the same verified identities, configuration sets, event destinations, suppression settings, and monitoring consistently across accounts.
Some teams use a dedicated email provider instead of managing SES directly, especially when clients need a simpler interface or faster onboarding. That can reduce AWS administration, but separate client isolation, reputation management, access control, and deliverability practices are still important.
For larger or more centralized environments, Amazon SES Mail Manager can act as a shared SMTP egress layer. It can accept authenticated SMTP connections, apply routing and filtering rules, and relay through different SES identities or external mail providers. That’s useful when several applications or third-party services need one governed outbound path, though it adds complexity and cost.
Keep each client in a separate AWS account whenever possible. SES reputation and sending limits are tied to the account and identities, so separating clients prevents one customer’s bad list or complaint rate from affecting everyone else. For access, have the client create a cross-account IAM role with a trust policy and ExternalId. You assume that role, and the client can revoke access at any time without rotating stored keys.

Related Questions
Can't Load PhpMyadmin On After Server Update
Redirect www to non-www in Apache Conf
How To Check If Your SSL Cert Is SHA 1
Windows TrackPad Gestures