On the hosted app you can also use Settings → Managed sending, where Xem runs the SES account for you. This guide is for connecting an SES account you own. Self-hosted installs need their own account, because managed sending is turned off there.
Before you start
You need:- an AWS account;
- a domain you control, with access to its DNS records;
- a from address on that domain, such as
news@yourdomain.com; - a Xem workspace where you can open Settings.
1. Verify your domain in SES
Verifying the domain lets you send from any address on it and sets up DKIM signing.1
Create the identity
In the Amazon SES console, open Identities → Create identity, choose Domain, and enter your domain.
2
Use Easy DKIM
Keep Easy DKIM selected. SES gives you three CNAME records.
3
Add the DNS records
Add the three CNAME records at your DNS provider exactly as shown. SES marks the identity Verified once it can see them, which can take from minutes to a few days depending on your DNS provider.
2. Add SPF and DMARC
Gmail and Yahoo require bulk senders to authenticate their mail with SPF and DKIM and to publish a DMARC policy. DKIM is covered by step 1.- SPF. For SPF to align with your domain, set a custom MAIL FROM domain on the SES identity, such as
mail.yourdomain.com. SES shows the MX and SPF TXT records to add for it. - DMARC. Add a TXT record at
_dmarc.yourdomain.com. A cautious start isv=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com, which reports problems without blocking mail. Tighten the policy once reports look clean.
3. Create SES SMTP credentials
Xem connects to SES over SMTP, so it needs SMTP credentials. These are not the same as your AWS access keys.1
Open SMTP settings
In the SES console, open SMTP settings. Note the SMTP endpoint, for example
email-smtp.eu-west-1.amazonaws.com.2
Create credentials
Choose Create SMTP credentials. SES creates an IAM user and shows an SMTP username and password once.
3
Store them safely
Copy both into your password manager. If you lose the password, create new credentials.
4. Request production access
New SES accounts start in a sandbox. In the sandbox you can send at most 200 messages in 24 hours, at one message per second, and only to addresses you have verified. That is enough for testing but not for a newsletter. Request production access from the SES account dashboard. Describe how people sign up to your list, how you handle bounces and complaints, and roughly how much you will send. AWS says it responds within 96 hours. You can test the rest of this guide while you wait by sending to an address you verified in SES.5. Choose a pricing plan
Accounts with no SES activity since June 1, 2025 start on the Essentials plan from July 21, 2026, at $0.16 per 1,000 emails. It includes deliverability tools. Pay-as-you-go costs $0.10 per 1,000 and has no plan features. Amazon says you can switch at any time. For a weekly newsletter to 10,000 people, about 40,000 emails a month, that is $4.00 on pay-as-you-go or $6.40 on Essentials. See what it costs to send a newsletter through Amazon SES for more examples.6. Add SES as a sender in Xem
1
Open SMTP senders
In Xem, go to Settings → SMTP senders and choose Add SMTP connection.
2
Choose Amazon
Set Provider Type to AMAZON. Xem fills in
email-smtp.us-east-1.amazonaws.com and port 587.3
Match your Region
Replace the host with the SMTP endpoint from step 3 if your Region is not
us-east-1. Keep port 587.4
Enter credentials
Turn on Requires Authentication and enter the SES SMTP username and password.
5
Set the from address
Enter a From Address on your verified domain.
6
Set the send rate
Set Max Send Rate to your SES maximum send rate per second, shown on the SES account dashboard. In the sandbox it is
1. Xem sends in batches of this size, about one batch per second.7
Save
Keep Supports TLS on. Turn on Make this the default provider if campaigns should use SES unless you choose otherwise, then save.
