ZeptoMail Credits & Auto-Renewal: What Happens at Zero

What happens to emails and how does auto-renewal work when ZeptoMail credits reach zero?

ZeptoMail Credits, Auto-Renewal, and What Happens at Zero

ZeptoMail credits, auto-renewal, and what happens at zero

Summary

  • I could not verify the exact auto-renewal trigger. I don’t have live access to ZeptoMail’s current docs, and Zoho changes billing details occasionally. Treat the specifics below as well-grounded but unverified, and confirm them using the steps in Section 1.
  • You probably don’t need two credits. ZeptoMail’s balance is metered per email (1 credit = 10,000 emails), not as a few discrete “tokens.” Auto-renewal is generally designed to trigger as the balance runs out or expires, so having exactly one credit isn’t a special problem.
  • Emails sent with zero credits will most likely be rejected, not queued. Your website should be responsible for retrying or logging them. Assume they can be lost unless you build a safety net.

1. Confirm the exact behavior (immediate, 10 minutes)

a. Check the official sources

Look for:

  • The auto-renewal trigger (balance at zero, below a threshold, or at expiry)
  • Credit validity (as I recall, about 6 months from purchase, after which unused credits expire)
  • What happens when credits are exhausted

b. Ask Zoho support directly (support@zeptomail.com, or the in-console contact). Ask specific questions:

  1. “With auto-renewal on and 1 credit purchased, at what balance does renewal trigger?”
  2. “Is there a gap between the balance reaching zero and the renewal being processed? Are sends rejected during it?”
  3. “What happens to API and SMTP requests when credits are zero: rejected, queued, or deferred?”
  4. “What happens if the auto-renewal card payment fails?”

Get the answers in writing so you can rely on them.

2. Why “one vs. two credits” is likely the wrong question

Concern Reality (likely)
“Renewal needs one credit left to trigger” The balance decrements per email, so the account passes through every value from 10,000 down to 0. A trigger tied to a threshold or zero doesn’t need a second full credit.
“Auto-renew might not fire with only one credit” This is possible only if the trigger is a fixed threshold above your balance. Support can confirm.
Real risks Renewal delay, a failed card payment, or credit expiry before use.

Practical recommendation: Buy more than the minimum if volume is unpredictable. Credits are inexpensive, and a larger buffer lowers the chance of hitting zero. Unused credits expire, though, so don’t buy more than you’ll use during the validity window.

3. Will emails be lost at zero credits?

Likely behavior: ZeptoMail is a transactional email service. When an account can’t send, the API or SMTP call returns an error to your application. ZeptoMail doesn’t hold messages until you top up. Whether an email is lost depends on what your website does with that error.

Outcomes by setup:

  • Plain SMTP/PHP mail with no logging: The email is silently lost.
  • WordPress plugin or app with email logging and retry: You can see the failure and resend.
  • Queue-based app (Laravel queues, Sidekiq, etc.): Failed jobs can be retried automatically once credits are restored.

4. Safeguards (ranked from most to least practical)

A. Turn on low-balance and expiry alerts (immediate)

Check the ZeptoMail console under subscription or billing settings for credit-low and expiry notifications. Send them to a monitored address, not just one inbox.

B. Keep a valid payment method and a buffer (immediate)

  • Verify that the card on file isn’t expiring and supports recurring or international charges (banks sometimes block these).
  • Buy a larger credit pack than your minimum need.

C. Log failed sends on the website (short term)

  • On WordPress, use an SMTP plugin that logs emails and failures (for example, WP Mail SMTP or Post SMTP) and enable failure notifications.
  • In custom apps, catch API and SMTP errors and write the full payload to a database table or log.

D. Add a queue with retry and backoff (medium term)

Push emails to a job queue, and retry failed sends for hours or days with exponential backoff. This is the most reliable way to avoid losing critical emails such as password resets, orders, and invoices.

E. Configure a fallback provider (medium term)

Set up a secondary SMTP or API provider (for example, Amazon SES, Postmark, Mailgun, or Zoho’s own SMTP). Switch automatically on specific errors, such as credit exhaustion or 4xx/5xx responses. Some WordPress SMTP plugins offer backup connections in their paid tiers.

F. Monitor with webhooks and API checks (long term)

Use ZeptoMail’s webhooks for bounces and failures, and add an uptime or health check that sends a test email periodically and alerts you if it fails.

5. Suggested action plan

  1. Email ZeptoMail support with the four questions in Section 1b.
  2. Enable low-credit alerts and check the payment method.
  3. Purchase a modest buffer (more than 1 credit if your volume warrants it).
  4. Add error logging or a retry queue to the website.
  5. Optionally configure a fallback SMTP provider for critical emails.

Limitations

  • I didn’t verify current ZeptoMail documentation, so the trigger logic, validity period, and rejection-versus-queue behavior remain unconfirmed until Zoho support or the docs confirm them.
  • Pricing and credit terms may have changed. Check the pricing page.