AWS PayPal Top-up How to configure Amazon SES identity verification for domains
AWS PayPal Top-up You’re likely not searching this because you want a definition of “identity verification.” You’re searching because you’re about to send real email (or need to move out of sandbox), and you’ve already hit one of the pain points: domain verification failing, timing out, TXT records not propagating, identity showing “pending,” or SES refusing to send due to policy/risk control. Below I’ll walk through the configuration steps and—more importantly—the operational decisions that affect activation, cost, and compliance outcomes.
What most users actually want to do (and the order that saves time)
- Verify a domain quickly so you can get out of the SES sandbox (if you’re there).
- Choose between domain vs email address identity based on your sending model (marketing vs transactional, multiple departments, or a SaaS).
- Implement DNS records correctly (TXT/MX/CNAME as needed), avoiding common propagation and formatting issues.
- Plan for renewals and operational continuity (what changes later, what breaks sending, what to monitor).
- Avoid risk control triggers (authentication misalignment, sudden volume spikes, mismatched From domain, bounce patterns).
- Understand how verification ties into account funding/usage limitations—especially if you’re purchasing an AWS account or using an organization structure.
If you’re in a hurry: domain verification is usually the best path for production sending. Email address verification is more suitable for a small number of senders and quicker internal testing—but it won’t scale well once you add more “From” aliases or different subdomains.
Scenario planning: which SES identity verification path should you pick?
Scenario A: You want to send from [email protected] and [email protected]
Use domain identity. Verify the base domain (or the specific subdomain) and then control sending addresses through your ESP configuration and SMTP/Mail Transfer setup. Domain identity reduces the chance of “we verified one address but the next campaign uses another From address.”
Scenario B: You only send from one mailbox during pilot (e.g., [email protected])
You can verify the email address identity first to unblock testing faster. But keep in mind: once you scale campaigns or rotate “From” addresses, you’ll likely rework verification.
Scenario C: You’re using a third-party app/SaaS and your From domain must match a specific subdomain
Verify the exact subdomain that appears in the SMTP “From” header (commonly something like mail.yourdomain.com or updates.yourdomain.com). Misalignment between verification domain and actual From domain is one of the most frequent reasons SES sends fail later even if verification succeeded.
Configuration checklist (DNS records) for domain identity verification
When you verify a domain in SES, AWS will give you a verification token that you must publish via DNS. The operational trick is to publish it in the right record type and right place, and then verify propagation in a controlled way before you wait on SES.
Step 1: Create a domain identity in SES
- Open Amazon SES console.
- Go to Email identities (or equivalent in your console layout).
- Select Verify a new identity → choose Domain.
- Enter your domain or the subdomain you want to send from.
- Save. SES will display the DNS verification instructions.
Step 2: Publish the SES verification TXT record
You’ll usually be asked to create a TXT record at your DNS provider. Common failure pattern: people paste the “value” into the wrong field (or include quotes incorrectly).
- AWS PayPal Top-up Create a TXT record where the Name/Host is whatever SES shows (often a blank/“@” or a specific value), and the Value matches the token SES provides.
- Do not add extra spaces or change punctuation. If SES shows a string, copy the string exactly.
- If your DNS provider supports multiple TXT records at the same host, that’s okay—SES will evaluate the correct one.
AWS PayPal Top-up Propagation tip: before you click “Verify,” check your DNS using a tool like dig/nslookup from a network that isn’t cached aggressively. If your record uses a long TTL, SES may take longer to reflect updates.
Step 3: (Strongly recommended) Align SPF, DKIM, and DMARC with the same sending domain
SES domain verification confirms ownership. But deliverability and “account risk” are influenced by authentication alignment. In practice, your DNS setup should include:
- SPF record that authorizes SES (the include mechanism SES provides).
- DKIM record (SES generates the CNAMEs or DKIM tokens depending on setup mode).
- DMARC to guide receiving servers on alignment and reporting.
AWS PayPal Top-up If you verify a domain but leave SPF/DKIM misconfigured, you might still see “verified” status, yet your first sending attempts can get poor inbox placement or even SES sending throttles depending on recipient feedback.
How to confirm verification succeeded (without guessing)
Don’t rely only on the SES UI status, especially if you’re coordinating DNS changes under time pressure. Use a two-step confirmation approach:
- DNS validation: ensure the TXT record exists and matches the SES token exactly.
- SES re-check: after propagation, return to SES and click “Verify” (or it will auto-refresh).
If verification stays “pending,” most issues are not “SES problems” but operational ones: wrong record type, wrong host/name, copy/paste errors, DNS provider caching, or verifying the wrong subdomain.
Common reasons domain verification fails (and what to do immediately)
| Symptom | Likely cause | Fast fix |
|---|---|---|
| SES “pending” for hours | TXT value copied incorrectly (missing characters, quotes, or trailing spaces) | Re-check the token in SES and compare byte-for-byte with your DNS console |
| SES never validates | Record created at wrong host (e.g., “www” vs “@”, or a wrong subdomain) | Create the TXT record for the exact host shown in SES instructions |
| DNS looks right in your browser but SES fails | Resolver caching / TTL delay | Test with dig against authoritative servers; wait for TTL to expire; then re-verify |
| Verification succeeds, but sending later fails | SPF/DKIM alignment mismatch with From domain | Reconcile sending From domain/subdomain with authenticated domain in SPF/DKIM/DMARC |
| Verification succeeds but deliverability is poor | Authentication records missing or DMARC policy strict | Start with “none”/safe DMARC policy during ramp; add DKIM/SPF properly |
Identity verification vs AWS account status: don’t mix up “verified domain” with “can send”
A verified SES identity does not automatically mean you can send high volume immediately. Two realities matter in operations:
- SES sending limits (especially if you’re in the sandbox or have not completed production access).
- AWS account eligibility and compliance posture (billing method, KYC status, and risk review outcome).
Practical check before you burn hours on DNS
- In SES, confirm whether you’re in sandbox or production.
- Confirm your domain identity status is verified.
- AWS PayPal Top-up Confirm you have configured DKIM and SPF for the same domain used in “From”.
- If you’re planning production sending, prepare the production access request with your use case and sending pattern.
This prevents a common time-waster: spending a day perfecting DNS while your account still can’t send to the addresses you care about due to SES restrictions.
Cloud account purchasing and KYC: what matters specifically for SES domain verification
If you’re buying an AWS account or inheriting one from a vendor, treat SES identity verification as an activity that can trigger additional scrutiny. Amazon’s risk controls commonly consider:
- AWS PayPal Top-up Account age and verification level
- Billing method type and funding history
- Recent changes (new services enabled, new SES identities created, sudden sending attempts)
- Consistency between identity and account profile (name/business domain alignment can matter operationally)
If you’re purchasing an AWS account
Before you create SES identities, ask the seller (or check internally) for these points:
- Is the AWS account fully verified (KYC) and able to maintain a stable payment method?
- Has the account had recent risk flags or payment failures? (This can delay SES production access.)
- Do you have administrative control to complete SES production request and domain verification changes?
I’ve seen cases where domain verification worked perfectly, but production access remained “stuck” because the account had unstable billing status or an incomplete verification stage. That’s why you should validate account funding readiness first.
Payment/KYC review interactions you should expect
SES domain verification is “just DNS,” but the ability to send is governed by account-level review. If you plan to ramp sending quickly, do not wait until DNS is done to finalize account readiness.
- Use a stable billing method (credit/debit that passes authorization reliably).
- Keep account contact and business info consistent with your sending organization.
- Prepare basic compliance evidence for production: business website, sending policy, expected volume, and bounce handling.
Funding, renewals, and payment methods: what changes your SES operations timeline
SES cost structure is usage-based (per email sent), but account funding stability affects operational continuity. Here’s what I’ve found when teams attempt SES rollout soon after payment setup.
Payment methods and operational impact
- Credit/Debit: usually fastest activation, but can be blocked by bank/geo restrictions or authorization limits.
- AWS PayPal Top-up Invoice/billing arrangements (when available): can reduce day-to-day payment failures but may take longer to set up.
- Corporate procurement integrations: fine for enterprise cadence, but require clean account owner info.
If your billing method fails mid-ramp, you may see throttling or delivery delays. Plan your “DNS verification → authentication → production access” sequence around payment stability.
Renewals and what to monitor
- Confirm your AWS billing status is “current” before you send high volume.
- Don’t change DNS records right before major campaign launches (you’ll risk partial propagation).
- Keep a record of the DKIM tokens—if you change identities, you may need to reconfigure DNS.
Risk control and compliance reviews: how to reduce the chance SES rejects or limits you
The most common “verification done but sending doesn’t work” pattern is that the domain is verified, but your sending behavior + authentication alignment looks suspicious to risk controls.
Checklist to reduce risk triggers
- From domain alignment: the From domain must match your SES authenticated domain/subdomain.
- SPF and DKIM correctness: verify both are present and valid for the same domain.
- DMARC policy sanity: avoid overly strict policies during early ramp if you’re not fully aligned.
- Gradual sending ramp: start with small batches, then increase.
- Bounce and complaint handling: suppress addresses that bounce and clean lists regularly.
Production access request: what reviewers care about
When you request production access, Amazon will ask for details. Based on what teams report in real deployments:
- What kind of email you send (transactional vs marketing) and typical volume
- List source (how users opt in) and user consent flow
- Customer support/contact info and website
- AWS PayPal Top-up How you manage unsubscribes and bounces
If your sending model is transactional (password resets, order notifications), document it. If it’s marketing, document opt-in methods and suppression rules.
Cost comparisons you should consider (DNS time is cheap; sending mistakes aren’t)
SES pricing itself is not the biggest hidden cost. The real cost is sending failures, retries, and list damage when authentication or ramp-up is wrong. When making a decision, compare:
- Verification and setup effort: SES requires DNS work; competitors may offer different onboarding flows.
- Operational overhead: monitoring bounce rates, complaint rates, and maintaining DKIM/SPF.
- Risk of account limitations: poor list hygiene can cost you time reworking permissions and reputation.
Practical takeaway: spend time up front on correct DNS and sending alignment to avoid the “cheap provider, expensive remediation” pattern.
FAQ: SES domain verification (the questions people ask after they get stuck)
1) How long does domain verification usually take?
DNS propagation varies by TTL and caching. Many teams see SES update within minutes once DNS is correct, but I routinely budget up to a few hours if TTL is long or the DNS provider has slow update cycles. If it’s still pending after you confirmed the TXT record via dig/nslookup, treat it like a configuration issue (host/name/value mismatch) rather than “wait longer.”
2) Can I verify the root domain and also send from subdomains?
Usually yes—depending on how you configure SPF/DKIM and what SES identity you tie to. For operational safety, verify the exact domain/subdomain used in your email headers and authentication records. If you later add a new sending subdomain, you may need additional verification or authentication alignment.
3) SES verification TXT record vs SPF/DKIM—do I need all of them?
Verification proves domain ownership. SPF/DKIM (and often DMARC) are what influence deliverability and authentication alignment. For real sending, you should configure authentication records as part of your go-live checklist—not after you start campaigns.
4) What happens if I change DNS providers later?
Your SES identity doesn’t magically survive if the verification TXT record disappears or changes. When you migrate DNS: keep the SES TXT/DKIM entries during the transition, ensure TTL is reasonable, and validate propagation before you resume sending. I’ve seen campaigns pause simply because DKIM CNAMEs weren’t re-created exactly.
5) I verified the domain, but emails still go to spam—why?
Spam placement is driven by reputation and authentication alignment. The most common causes: missing/incorrect SPF or DKIM, DMARC policy too strict for your current alignment, sudden volume spikes, and list issues (high bounce or complaint rate). Verify that the “From” domain matches what’s authenticated, then review sending ramp behavior.
6) Does SES domain verification require me to do KYC?
Domain verification itself is DNS-based. However, to send production volume or request production access, your AWS account’s compliance posture matters. If you’re using a new or purchased account with incomplete verification, you can complete DNS verification but still get blocked on sending.
7) Can I verify multiple domains for one SES account?
Yes, and many teams do it for different business units. Operationally, ensure each domain’s SPF/DKIM/DMARC are correctly configured and that you map each sending “From” to the correct identity/authentication.
Action plan (what to do in the next 60 minutes)
- In SES console, verify which identity you need (domain vs email address) based on your current “From” strategy.
- Create the domain identity and copy the exact TXT verification token.
- In your DNS provider, add the TXT record using the exact host/name SES provides, and confirm it via dig/nslookup.
- Configure SPF + DKIM + (recommended) DMARC for the same domain/subdomain used in your From header.
- Check SES status: sandbox vs production eligibility. Don’t assume verification equals sending permission.
- Verify account readiness: billing/payment method stable, no recent payment failures, and KYC/compliance status adequate for production access.
If you tell me your setup, I can sanity-check the exact DNS + risk points
Reply with:
- Domain (root or subdomain) you want to send from (e.g., example.com or mail.example.com)
- Whether you’re sending transactional, marketing, or both
- Your current DNS provider (Route 53, Cloudflare, GoDaddy, etc.)
- Whether SPF/DKIM/DMARC already exist
- SES sandbox vs production status (screenshot text is fine)
And I’ll suggest the most reliable configuration order and the specific things that typically cause SES verification or later sending failures.

