21+ years in hosting · Jaipur, India · INR billing with 18% GST · 24/7 email support
Blog · WebJi® India

Sendy and Amazon SES Setup

Quick answer

Sendy is a PHP newsletter app you host yourself, and Amazon SES does the sending. Verify your domain in SES and publish its DKIM records, request production access to leave the sandbox, then add an IAM key in Sendy. SES charges US$0.10 per 1,000 emails, so 10,000 emails cost about US$1.

For Indian businesses and bloggers who want to send newsletters at AWS prices from their own server instead of a monthly email tool.

✓ In business since 2005
✓ INR + GST billing
✓ 24/7 Email Support — avg reply < 60 min
GuideWebJi®
knowledge
Read time
5 min
Sections
9
Updated
14 Nov 2026
Written by
WebJi® team

What Sendy does and what Amazon SES does

Sendy is a self-hosted PHP application that stores your lists, builds campaigns and shows reports; Amazon SES is the AWS service that actually delivers each message and bills per thousand emails. Most setup failures come from treating them as one system.

Who does what in a Sendy + Amazon SES setup
PartRuns whereJob
SendyYour hosting (PHP + MySQL)Subscribers, templates, campaigns, autoresponders, reports
Amazon SESAWS region you chooseAuthenticates and delivers mail, enforces quotas, records bounces and complaints
Amazon SNSSame AWS regionPasses bounce and complaint notices back to Sendy
Your DNSYour DNS hostDKIM, SPF and DMARC records that prove the mail is yours

What the server needs before installing Sendy

Sendy needs PHP, a MySQL or MariaDB database, cron access and HTTPS on the domain it runs from; a small shared hosting plan is enough because the heavy sending happens at AWS.

  • PHP and MySQL: with the extensions Sendy checks for. Its compatibility page, /_compatibility.php?i=1 on your install URL, lists anything missing.
  • Cron: scheduled campaigns, autoresponders and CSV imports run from cron jobs, not page loads.
  • HTTPS: on the Sendy install and on links inside campaigns.
  • A domain you control: a free mailbox address cannot be verified or authenticated as a sending domain.
  • An SES region near your readers: Asia Pacific (Mumbai), ap-south-1, is the natural choice for an Indian list.

WebJi® Webji Turbo shared hosting at ₹399 a month before 18% GST covers PHP, MySQL and cron; checkout confirms the current price.

How to install Sendy and connect it to SES

Edit includes/config.php with your install URL and database details, upload the files, open the install page with your licence key, then paste an IAM access key that can use SES and SNS.

  1. Create a MySQL database and user in your hosting panel.
  2. In includes/config.php, set APP_PATH to the URL Sendy will run from (for example https://mail.yourbrand.in) and enter the database credentials.
  3. Upload the files and set the uploads folder to the write permission Sendy's guide specifies, so images and CSV imports work.
  4. Open the install URL, enter the licence key from your purchase email, and create your Sendy login.
  5. In AWS IAM, create a dedicated user and access key for Sendy, never the root account key, with the SES and SNS permissions Sendy's guide lists.
  6. Paste the key and secret under Amazon Web Services Credentials in Sendy and pick the same region as your SES identity.
  7. Add the cron commands Sendy displays in its settings to your panel's Cron Jobs; the cron job guide explains the format.

Keep the secret out of code repositories and screenshots; if it leaks, deactivate it in IAM and issue a new pair.

DKIM, SPF and DMARC records for Amazon SES

Verify your domain in SES and publish the three DKIM CNAME records it generates; for SPF alignment, set a custom MAIL FROM subdomain with one MX and one SPF record; then add a DMARC record. Without a custom MAIL FROM, SES uses an amazonses.com return path, so adding include:amazonses.com to your main domain's SPF does not help DMARC.

DNS records for sending through Amazon SES (Mumbai region shown)
NameTypeValuePurpose
Three …._domainkey.yourbrand.in namesCNAMEGenerated by SESEasy DKIM signing
bounce.yourbrand.inMX10 feedback-smtp.ap-south-1.amazonses.comCustom MAIL FROM (exactly one MX)
bounce.yourbrand.inTXT"v=spf1 include:amazonses.com ~all"SPF for the MAIL FROM subdomain
_dmarc.yourbrand.inTXT"v=DMARC1; p=none; rua=mailto:dmarc@yourbrand.in"Policy and reports; tighten later

The MAIL FROM subdomain must not be used for sending or receiving anything else, and SES can take up to 72 hours to detect the MX record. Check the result with the email authentication checker; the records themselves are explained in what DKIM is and SPF and DMARC setup.

How to move Amazon SES out of the sandbox

A new SES account starts in the sandbox, limited to 200 messages per 24 hours, one per second, and only to verified recipients; you must request production access before sending to a real list. Nothing in Sendy changes this.

  1. Verify the domain (not just one address) and confirm DKIM shows as successful.
  2. Send yourself a test and check the headers show DKIM passing for your domain.
  3. Open Request production access in the SES console and explain plainly what you send, how people subscribe (ideally with confirmed opt-in) and how bounces and complaints are handled.
  4. Ask for the daily quota you actually need; AWS raises it further as your sending history builds.

Bounces, complaints and inbox-provider rules

With SES and SNS permissions on its IAM key, Sendy sets up bounce and complaint handling for you; your job is to confirm it works and keep complaint rates low. Test it by sending to a deliberately invalid address and checking that Sendy marks it bounced within minutes.

  • Confirmed opt-in: import only people who asked for your mail; purchased lists are the fastest route to a suspended SES account.
  • Gmail and Yahoo bulk-sender rules: authenticate with SPF, DKIM and DMARC, offer one-click unsubscribe, and keep reported spam rates well below 0.3%.
  • List hygiene: remove hard bounces immediately and stop mailing people who have not opened in months.
  • Throttle: keep Sendy's sending rate at or below your SES per-second limit so a campaign does not fail halfway.

If your domain ends up on a blocklist, the steps are in email blacklist check and removal.

What 10,000 emails cost with Sendy and Amazon SES

Amazon SES charges US$0.10 per 1,000 outgoing emails, so 10,000 emails cost about US$1; your fixed costs are hosting, the domain and Sendy's one-time licence. The rupee figure moves with the exchange rate your card uses.

Typical cost lines for a Sendy + SES newsletter
LineCost
SES, 10,000 emailsAbout US$1 (plus small data charges for attachments)
Hosting for Sendy₹399 a month at WebJi® (Webji Turbo), before 18% GST
Domain.in ₹1,000 a year, or .com ₹1,380 first year and ₹1,480 renewal (read 4 November 2026), before 18% GST
Sendy licenceOne-time, from the vendor; check the current price at purchase

Checkout confirms WebJi® prices. The sending cost is so low that the real expense is the time spent on deliverability.

When a managed email marketing setup is simpler

Self-hosting Sendy puts deliverability on you; if nobody wants to watch bounce rates, maintain DNS records and handle AWS support requests, a managed setup is the better trade.

WebJi® email marketing hosting covers the app, the domain and the DNS in one place; email support@webji.services with your list size and sending domain. Keep business email for staff on a separate domain or subdomain, so a campaign problem never affects the mailbox your office replies from. For outreach rather than newsletters, see cold email on a VPS.

FAQ

Frequently asked questions

Why are my Sendy emails going to spam?

Usually DKIM is not verified, the From address is on a domain you did not verify, there is no DMARC record, or the list contains people who never opted in. Fix authentication first, then remove hard bounces and unengaged subscribers.

Can I use Sendy with an SMTP server instead of SES?

Sendy can be pointed at another SMTP service, but its automatic bounce and complaint handling and quota checks depend on the SES and SNS connection. With another relay you manage bounces yourself, which is why most Sendy users keep SES.

Is Amazon SES available in India?

Yes. SES runs in the Asia Pacific (Mumbai) region, ap-south-1, which keeps sending close to Indian readers. Use the same region for your SES identity, SNS topics and Sendy settings.

Can Sendy run on shared hosting?

Yes, if the plan provides PHP, MySQL, cron jobs and enough memory for your list size. The sending is done by AWS, so the hosting only runs the panel and the campaign queue.

Checked 15 November 2026 against AWS SES and Sendy documentation · Reviewed by the WebJi® team, Jaipur.

WebJi® since 2005

Ready to get started with WebJi®?

Join 12,000+ businesses across India and overseas. INR pricing, 18% GST shown before payment and 24/7 email support in Hindi and English — average first reply under 60 minutes.