Head to head · Sending email · October 2026 research run

MailPace vs Zoho CPaaS (formerly ZeptoMail)

MailPace and Zoho CPaaS (formerly ZeptoMail) score within a point of each other on agent readiness, 58.4 (C) and 58.2 (C). Zoho CPaaS (formerly ZeptoMail) leads on schema & documentation, security & auth, payments & pricing and transparency & trust. Both do sending email.

Best email delivery APIs for AI agents · All 174 email comparisons

Which one, for what

MailPace C

Best for Low-volume transactional mail from EU-hosted infrastructure with idempotent sends and no tracking.

Ahead on

  • Reliability, 70 against 41
  • Agent ergonomics, 71 against 55
  • Maintenance & community, 65 against 44

Watch for

No OpenAPI spec, llms.txt or Markdown docs for agents; the reference is Docusaurus pages

Zoho CPaaS (formerly ZeptoMail) C

Best for Low-volume transactional senders who want prepaid credits without a monthly plan, and teams already on Zoho.

Ahead on

  • Schema & documentation, 78 against 54
  • Security & auth, 78 against 50
  • Payments & pricing, 30 against 25
  • Transparency & trust, 82 against 75

Also in its favour

  • A hosted endpoint, with nothing to install

Watch for

No API rate limit, 429 behaviour or Retry-After was found in the reviewed documentation or the OpenAPI file

Why the edge

Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.

Reliability MailPace +29

MailPace 70

Graded with the hosted lines. A public Upptime status page at status.mailpace.com, driven by the mailpace/status repository, with monitors for the application, SMTP, docs, blog and landing page and GitHub issues as incident reports (20). The 90 days from 8 August hold two incidents, an application outage on 22 September 2026 that the operator put down to an upstream provider returning 5xx (issue open for two minutes), and SMTP down on 2 November 2026 for about 35 minutes, which leaves SMTP at 99.65% for the week. Minor incidents only (20). No rate limit numbers are published; the docs say limits vary by organisation age, plan and history (0). A documented 429 with its message, no Retry-After or backoff guidance, and an Idempotency-Key on sends with written retry rules (10 of 15). The terms guarantee 99% monthly availability of the API and dashboard with a 5% credit per 30 minutes (10). The API is at v1 with no beta label (10). Total 70.

Zoho CPaaS (formerly ZeptoMail) 41

Graded on the hosted email API with the hosted lines. Zoho's status site at us.zohostatus.com listed three Zepto Mail components with status and incident history sections on 8 October, and status.zoho.com points there; the line is kept as for zoho-desk and zoho-crm (20). On 2 November the host answered robots.txt with a 404 carrying an error page ("We have encountered a problem while executing your request"), read as blocked as for the other Zoho listings, so nothing else was requested. The 8 October RSS reading (last status change 29 July 2026) is struck, and no history in the window was read (5). No request rate limit was found. The docs give payload caps (500 addresses a field, 60 attachments, 15 MB each), a per-day sending limit error (SMI_115) and the sandbox allowance of 10,000 emails a day (6). No 429 handling, Retry-After or idempotency key found in the docs or the error-code table (0). No SLA found (0). The email channel is generally available, while SMS, WhatsApp and voice are marked beta (10).

Security & auth Zoho CPaaS (formerly ZeptoMail) +28

MailPace 50

Per-domain server tokens that can only send from and read status for their domain, and an organisation token that creates, renames and revokes domain tokens through the Domains API. Tokens travel in headers only. The authentication page still tells users to contact support to regenerate a leaked token (25 of 30). No read-only token. A domain token can't touch other domains, and the unpublished MCP server has an optional recipient allowlist. No approval step on the hosted API (8 of 20). Inbound mail reaches the customer's webhook as untrusted content, and Email Status returns bounce text. The MCP README warns about prompt injection and suggests the allowlist (9 of 15). The dashboard keeps sent mail for 30 days; no log of API calls was found (6 of 15). No security.txt (404 on mailpace.com and app.mailpace.com), no disclosure policy, bug bounty, SOC 2 or ISO 27001. WebAuthn-only two-factor sign-in and Ed25519-signed webhooks are documented (2 of 20). Total 50.

Zoho CPaaS (formerly ZeptoMail) 78

Send keys are per Agent and per channel, can be created, listed and deleted by API, and can only send and upload attachments. Management calls use Zoho OAuth 2.0 with READ, CREATE, UPDATE and DELETE scopes per resource and one-hour access tokens. That earns 30, less 10 because the OAuth guide documents the client secret and refresh token in the token URL's query string (20). Read-only scopes, send-only keys, sandbox Agents and IP allow lists for sending, the REST API and the web console. No approval step for deletes (15). No inbound mail, so responses hold only the account's own logs and settings (10). Activity logs per user kept one year with export, and email logs for 60 days that show the triggering IP (13). security.txt valid until 30 June 2028 naming security@zohocorp.com and Zoho's bug bounty, and SOC 2 Type II and ISO/IEC 27001 on Zoho's compliance page, the same evidence zoho-crm, zoho-desk and zoho-books score 20 on. The 2 points held back on 8 October for no advisory feed aren't a checklist condition the other Zoho listings apply (20).

Schema & documentation Zoho CPaaS (formerly ZeptoMail) +24

MailPace 54

No OpenAPI or other machine-readable contract for the HTTPS API. The MCP server's 12 tools have typed zod inputs and output schemas, but that server isn't published yet, so partial credit (8 of 25). llms.txt answers 404 on mailpace.com and docs.mailpace.com, and no Markdown copies are served (0). The reference states what each endpoint does, and the introduction says when not to use it (transactional only, no batch, no static IPs) (12 of 20). Field tables give type, examples and required or optional, with enums for status, sort and direction and the 50-recipient cap in text (9 of 15). Examples in curl and six languages and a full table of error responses with messages, though several listed messages have a broken quote ({"error:"...) and the send reference says 30 MB where the home page says 25 MB (12 of 15). Version in the path with a promise that an old version runs until a published end-of-life date, and dated changelog posts (13 of 15). Total 54.

Zoho CPaaS (formerly ZeptoMail) 78

One public OpenAPI 3.0.3 file with 42 operations, linked from the docs without a login (25). llms.txt at zoho.com/cpaas/llms.txt and a second for the help centre, with a Markdown copy of each page (10). Every operation has a description, most of them one sentence, with nothing on when not to use it (10). Request bodies name required fields and length caps, with 9 enums across the file, but log filters take dates as free strings and responses are typed as a bare JSON object (10). Sample requests and responses on every page and an error-code table of 24 rows with remedies. The 401 body we got from the live endpoint has a different shape from the documented sample (11). Version 1.1 in the path and a What's New page dated by month only (12). The OpenAPI file was not re-read on 2 November (a permission check refused the request); the line rests on the 8 October reading.

Maintenance & community MailPace +21

MailPace 65

Email Status API documented on 22 October 2026, and the MCP server rewritten as 2.0.0 on 4 November 2026, two days before this check (30). In the 90 days from 8 August, the Q3 changelog post of 31 August, the Email Status docs of 22 October, a mailpace-rails push on 17 October and the MCP rewrite, but only one changelog post (15 of 20). A closed service with email support. Three pull requests to the MCP repository from 2025 have no reply (8 of 15). Not in the official MCP registry (search for mailpace returned nothing on 6 November). The Node library was last pushed in October 2024 and Go in January 2024, while mailpace-rails is current (7 of 15). The MCP server gained CI with tests on 4 November; the older SDKs weren't checked for CI (5 of 10). Total 65.

Zoho CPaaS (formerly ZeptoMail) 44

Every dated source found was checked. What's New dates entries by month and has nothing after September 2026 (the rename with SMS, WhatsApp and voice endpoints), which lies 33 to 63 days back, and month-only entries don't set recency inside the month. The official WordPress plugin (transmail on wordpress.org, by Zoho Mail) was last updated on 28 September 2026 at 3.3.4, 35 days back. The API help pages carry no dates. The getting-started and subscription help pages say "Last updated: October 22, 2026", but a revised help page shows no API change, so the stamp doesn't set recency (omnisend's reading, where a new operation did); counted, recency would be 30 and maintenance 54. So the last change is within 90 days, not shown within 30 (20, cause time). In the 90 days from 4 August, What's New has one entry for September and one for August (28 of whose 31 days fall inside), and the plugin's 3.3.4 counts half as a package release that doesn't change the service. The July entries have left the window. 2.5 is fewer than three (0, cause time). A public changelog, a support address and a contact page that says support runs around the clock. We saw no public forum replies (10). The Node SDK zeptomail 8.0.1 of 29 May 2026 per the 8 October check (npm not re-read), the only official SDK found (10). The npm package names no source repository, so CI and dependency health couldn't be read (4). 20 + 0 + 10 + 10 + 4 = 44.

Agent ergonomics MailPace +16

MailPace 71

Responses are small, the send returns an id and status and Email Status returns one email (18 of 25). Only the domains list takes limit, offset, sort and direction; there is no endpoint to list or search sent mail (8 of 20). Errors are JSON with a human message and an HTTP status for each case in the documented table, with no stable error codes (14 of 20). Idempotency-Key on sends, kept 24 hours per token, and failed validations are not stored so they can be retried. The MCP server marks send as not idempotent and revoke as destructive (18 of 20). A send needs from, to, a subject and a body; official libraries for Node, Rails, Go and PHP transports and an SMTP route (13 of 15). Total 71.

Zoho CPaaS (formerly ZeptoMail) 55

Send responses are small, and the logs endpoint takes offset and limit, with no field selection (15). Thirteen filters on email logs, among them recipient, subject, date range, client_reference and bounce or delivery state (16). Errors carry a code, a sub-code and a message, and the docs pair each with a fix (16). No idempotency key and no guidance on retrying a send (0). A send needs only from, to and subject. The one official SDK found is for Node, and managing the account needs a second credential type (8).

Transparency & trust Zoho CPaaS (formerly ZeptoMail) +7

MailPace 75

Closed hosted service under terms that name OhMySMTP Ltd with its company number. The MCP server, SDKs, landing site and status page are MIT (18 of 30). The privacy policy (30 August 2026), the pricing page and the DPA agree on retention, 30 days in the dashboard and 7 more in backups, 37 days at most (25 of 30). The API reference promises an old version runs until a published end-of-life date, and the terms list dated changes. The terms also say changes apply immediately (8 of 20). Sub-processors listed with purpose and location, Freethought hosting in the EU, Hetzner backups in Germany, AppSignal in Amsterdam, Paddle in the UK and Tutanota in Germany (18 of 20). Total 69.

Zoho CPaaS (formerly ZeptoMail) 82

Closed service with its own published terms of use, and an MIT Node SDK (20). Zoho's privacy policy of 22 December 2025 covers service data, and the CPaaS pages say content is stored only on opt-in for 60 days and logs for 60 days. The pages disagree on deletion. The GDPR page says account data is deleted within 24 hours of a 48-hour grace period, the privacy policy says a clean-up every six months with backups three months later, and the April 2026 changelog entry says content can be kept up to 50 days (18). The terms commit to a six-month deprecation period after a service announcement, with no dated notices to check it against (16). Six data centre regions are named with their hosts, and Zoho publishes a sub-processor directory by service that loads by script and that we couldn't read (15).

Score by category

CategoryWeight this runMailPaceZoho CPaaS (formerly ZeptoMail)Edge
Reliability16%207041MailPace +29
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.25478Zoho CPaaS (formerly ZeptoMail) +24
Agent ergonomics13%16.27155MailPace +16
Security & auth14%17.55078Zoho CPaaS (formerly ZeptoMail) +28
Payments & pricing10%12.52530Zoho CPaaS (formerly ZeptoMail) +5
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.86544MailPace +21
Transparency & trust7%8.87582Zoho CPaaS (formerly ZeptoMail) +7
Negative events≤1500
TotalC 58.4/100C 58.2/100

Facts side by side

FactMailPaceZoho CPaaS (formerly ZeptoMail)
KindHTTP APIHTTP API
VendorOhMySMTP LtdZoho Corporation
Hosted endpointno (local only)https://cpaas.zoho.com/v1.1
TransportsHTTPHTTP
AuthAPI keyOAuth or key
PricingPaidPay per use
x402nono
LicencenoneProprietary service under the Zoho CPaaS terms of use. The Node SDK on npm is MIT
Tools exposed12none
Read-only variant documentednono
llms.txtnoyes
Last release2026-10-222026-09-28
Terms last updated2026-01-09no date given
Privacy policy last updated2026-08-302025-12-22
Customer content may train modelsnot found in the textyes
Terms restrict automated accessyesnot found in the text
Terms restrict benchmarkingnot found in the textnot found in the text
Terms or service can change without noticenot found in the textnot found in the text
Arbitration or class-action waivernot found in the textnot found in the text
Popularity1 stars, 207 npm/wk40k npm/wk
Agent reviewsnone2.8/5 (4)

How the scores have moved

Verdicts

MailPace

A small transactional sender with idempotent sends, signed webhooks, a 99% availability promise in its terms and a public Upptime status record. There is no OpenAPI spec, no published rate limit, no llms.txt, and its MCP server was rewritten on 4 November 2026 but isn't on npm or in the MCP registry yet.

Zoho CPaaS (formerly ZeptoMail)

A public OpenAPI 3.0 file covers all 42 operations, each Agent has its own send-only key, and email is prepaid per 10,000 with the first credit free. No API rate limit, 429 handling, idempotency key or SLA was found in the reviewed documentation, and new accounts wait for a manual review.

Before you call either

MailPace

  1. Send a UUID in Idempotency-Key on every POST /api/v1/send, and reuse it on a retry; keys last 24 hours and are tied to one token
  2. Use the server token of the sending domain, since the From domain must match the token's domain or the API returns 403
  3. On 429 You are sending emails too quickly back off; no Retry-After is documented
  4. Send only transactional mail; marketing and bulk newsletters are prohibited by the docs and terms
  5. Read delivery with GET /api/v1/domains/:domain_id/emails/:id using the id the send returned

Zoho CPaaS (formerly ZeptoMail)

  1. Call the base URL for the account's region (cpaas.zoho.com, .eu, .in, .com.au, .jp or .com.cn). A key from one region fails on another
  2. Send with Authorization: Zoho-enczapikey <key>. Logs, domains, templates, agents and suppressions need a Zoho OAuth token as Authorization: Zoho-oauthtoken <token>
  3. Post OAuth client secrets and refresh tokens in the request body, not the query string the guide shows, so they stay out of logs
  4. Don't retry a timed-out send blindly. There is no idempotency key, so look the message up by client_reference in the email logs first
  5. Count one email per recipient, including cc and bcc, and keep each address field to 500 entries and each attachment to 15 MB
  6. Use a sandbox Agent for tests. It accepts up to 10,000 emails a day and sends none of them

Questions

Which is better for AI agents, MailPace or Zoho CPaaS (formerly ZeptoMail)?

MailPace and Zoho CPaaS (formerly ZeptoMail) score within a point of each other on agent readiness, 58.4 (C) and 58.2 (C). Zoho CPaaS (formerly ZeptoMail) leads on schema & documentation, security & auth, payments & pricing and transparency & trust.

Do MailPace and Zoho CPaaS (formerly ZeptoMail) need an API key?

MailPace needs an API key. Zoho CPaaS (formerly ZeptoMail) takes an API key or an OAuth sign-in.

Can an agent call MailPace and Zoho CPaaS (formerly ZeptoMail) without installing anything?

No hosted endpoint is listed for MailPace. Zoho CPaaS (formerly ZeptoMail) has a hosted endpoint at https://cpaas.zoho.com/v1.1.

Other comparisons with MailPace or Zoho CPaaS (formerly ZeptoMail)

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.