Skip to main content
Transactional Email Deliverability Connector (Resend / SES / Postmark) — A build-to-order Frappe app that routes ERPNext's tr — 1/1Illustrative preview

A build-to-order Frappe app that routes ERPNext's transactional email through Resend,

Amazon SES or Postmark with proper DKIM/SPF/DMARC, webhook-driven bounce and complaint handling, and per-domain sending stats.

ECOSIRE builds, installs and supports it for your v15/v16 site after a scoping call.

What is Transactional Email Deliverability Connector (Resend / SES / Postmark)?

A build-to-order Frappe app that routes ERPNext's transactional email through Resend, Amazon SES or Postmark with proper DKIM/SPF/DMARC, webhook-driven bounce and complaint handling, and per-domain sending stats. ECOSIRE builds, installs and supports it for your v15/v16 site after a scoping call. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

Pluggable provider adapters for Resend, Amazon SES and Postmark (SendGrid optional), swappable per sending domain via a single Settings DocType
Encrypted API-key storage using Frappe password fieldtype — no credentials in `site_config.json` or source
Intercepts ERPNext's Email Queue / outbound sending path so Notifications, print formats and workflow emails route via the provider API without touching your business logic
`Transactional Email Log` DocType recording provider message ID, domain, recipient, status and event timestamps, linked back to the source document
Signature-verified inbound webhooks (`@frappe.whitelist(allow_guest=True)`) for delivery, bounce, complaint and open events — SES/SNS confirmation, Postmark & Resend HMAC verification
Automatic hard-bounce and complaint capture into an `Email Suppression` DocType with reason and source event
Pre-send suppression check via `hooks.py` doc event that blocks sends to suppressed addresses before they leave the queue
Per-domain DKIM/SPF/DMARC record set generated for your DNS, with in-app domain/DKIM verification status where the provider API supports it
`Per-Domain Sending Stats` roll-up (sent, delivered, bounced, complained, bounce-rate, complaint-rate) via scheduler events
Scheduler-driven reconciliation job that pulls provider event/stats APIs to backfill any missed webhook events
Frappe REST API and whitelisted methods to query logs, suppression list and domain stats for external dashboards or monitoring
Role profiles and permissions so only Email/System Managers can view API keys and manage suppression, while agents see read-only stats
Configurable retry and provider-failover behavior with structured error logging to the Frappe Error Log
Client script and dashboard indicators on Email/Contact for at-a-glance deliverability status of a recipient
Built and tested against Frappe/ERPNext v15 and v16

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your ERPNext.

  3. 3

    Go live + support

    You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.

Technical Specifications

ERPNext Compatibility
—
License
Licence confirmation required
Python Requirement
Python 3.10+
Database
MariaDB 10.6+

About this Product

ERPNext ships with a built-in Email Domain / Email Account setup that speaks plain SMTP, and for low volume it works. The trouble starts as you scale: invoices, payment reminders, quotations, password resets, portal notifications and Notification/Auto Email Report messages all leave your instance over a single SMTP connection with no delivery telemetry. When mail bounces or a recipient marks it as spam, ERPNext never hears about it — the address stays in your Customer/Contact records, your sending reputation quietly degrades, and one day a whole domain's mail lands in Junk with no signal as to why. Native ERPNext has no concept of a bounce webhook, a complaint feedback loop, a suppression list, or per-domain deliverability metrics. That is exactly where teams outgrow the core.

This connector is a purpose-built Frappe app (its own module, DocTypes and hooks.py) that inserts a deliverability layer between ERPNext and modern transactional providers. It ships pluggable adapters for Resend, Amazon SES and Postmark (SendGrid optional), selected through a Transactional Email Settings single DocType where you store API keys in encrypted fields and pick the active provider per sending domain. Outbound mail is intercepted via ERPNext's Email Queue / make sending path so existing Notification, print-format and workflow emails route through the provider's API — no rewrite of your business logic. Every send is written to a Transactional Email Log DocType carrying the provider message ID, domain, recipient, status and timestamps, giving you an auditable trail keyed back to the originating document.

The inbound half is where the real value sits. We expose whitelisted, signature-verified webhook endpoints (via @frappe.whitelist(allow_guest=True)) that receive delivery, bounce, complaint and open events from your provider, verify the payload signature (SES SNS confirmation, Postmark/Resend HMAC), and update the matching log record. Hard bounces and spam complaints are automatically written to an Email Suppression DocType; a hooks.py doc event and a pre-send check then block future sends to suppressed addresses so you stop hammering dead mailboxes. Scheduler events reconcile provider stats and roll up Per-Domain Sending Stats (sent, delivered, bounced, complained, bounce-rate) that you can surface on a dashboard or pull through the Frappe REST API. We also hand you a documented DKIM/SPF/DMARC record set per domain and, where the provider API allows, verify domain/DKIM status from within ERPNext.

Because this is build-to-order, nothing is downloaded and flipped on. It begins with a scoping call to confirm your provider(s), sending domains, ERPNext version (v15 or v16), current volume and which document flows must be covered. ECOSIRE then builds your version of the app, validates it on a staging copy of your site through UAT, and installs it on production with a rollback plan. Typical delivery is one working week from confirmed scope depending on how many providers and domains you need. You receive the full source in a git repository, install and configuration on your bench, technical and user documentation, a training session and a post-go-live support window — you own the code outright.

What you get

  • Installable source code for your version of the connector app, delivered as a Frappe app you own outright
  • Installation and configuration on your bench/site — providers, sending domains, DKIM/SPF/DMARC records and webhook endpoints wired end to end
  • Technical documentation: DocType reference, hooks, webhook payload handling, provider adapter contract and scheduler jobs
  • User guide plus a live training session for your ops/email managers covering suppression management and reading domain stats
  • UAT on a staging copy of your site with a documented rollback plan before production install
  • Post-go-live support window for defect fixes and deliverability tuning
  • Handover of the complete git repository with commit history and README
  • DNS record pack (SPF, DKIM, DMARC) per sending domain with verification checklist

Who this is for

ERPNext Operations Manager

Runs day-to-day ERPNext and is tired of invoices and reminders silently failing. Needs visibility into what actually delivered, an automatic way to stop mailing dead addresses, and confidence that customer-facing email leaves the building.

IT / Systems Administrator

Owns the bench and DNS. Wants provider API keys stored encrypted, DKIM/SPF/DMARC done correctly per domain, signature-verified webhooks, and a supported app on v15/v16 rather than a fragile SMTP relay hack.

Deliverability / Marketing Ops Lead

Accountable for sender reputation. Needs per-domain bounce and complaint rates, a real suppression list honoring one-click complaints, and the ability to move sending to Resend/SES/Postmark without changing how ERPNext generates mail.

Finance / AR Team Lead

Depends on invoices, statements and payment reminders reaching customers. Wants proof of delivery tied back to the specific Sales Invoice, and alerts when a customer's address bounces so AR follow-up isn't chasing a black hole.

How Transactional Email Deliverability Connector (Resend / SES / Postmark) Compares

CriterionECOSIRECustom BuildCompetitorERPNext Native
Delivery modelBuild-to-order app scoped, built and installed for you in one working weekIn-house build competing for your dev team's timeInstant marketplace download, generic fitAlready in ERPNext, no build
Provider supportResend, SES, Postmark adapters (SendGrid optional), swappable per domainWhatever you have time to code and maintainUsually one provider, take it or leave itPlain SMTP only, no API providers
Bounce & complaint handlingSignature-verified webhooks auto-populate a suppression listMust design webhook verification and suppression yourselfOften send-only, limited or no inbound eventsNone — bounces are invisible to ERPNext
Deliverability visibilityPer-domain sent/delivered/bounce/complaint stats + logsBuild your own logging and dashboardsBasic send log at bestNo delivery telemetry
DKIM/SPF/DMARC setupPer-domain record pack + in-app verification statusManual research and DNS trial-and-errorLeft to you with generic docsManual, no guidance in-app
ERPNext version fitBuilt and tested for your v15/v16 siteYou handle version compatibilityMay lag ERPNext releasesNative to your version, feature-limited
OwnershipFull source in a git repo, you own itYou own it but bear the full costLicensed, closed or shared codebaseCore, not yours to extend
Support pathPost-go-live window + optional retainer from the builderSelf-support onlyVendor tickets, variable SLAsCommunity/self-support

Frequently Asked Questions about Transactional Email Deliverability Connector

Is this a ready-made app I can download and install today?

No. This is a build-to-order product. ECOSIRE builds your version of the connector for your specific providers, domains and ERPNext version, validates it on staging, and installs it on production. You receive the full source and own it — there is no instant download.

How long does delivery take?

Typically one working week from confirmed scope. The exact timeline depends on how many providers (Resend, SES, Postmark) and sending domains you need, your ERPNext version, and how many document/notification flows must be covered. We confirm the estimate at the end of the scoping call before any build starts.

Which email providers and ERPNext versions are supported?

Resend, Amazon SES and Postmark out of the box, with SendGrid available as an option. The app is built and tested against Frappe/ERPNext v15 and v16. If you use a different provider with a REST API, we can scope an additional adapter.

Will this change how ERPNext generates my emails?

No. It intercepts ERPNext's existing outbound/Email Queue path, so your Notifications, print formats, workflow emails and portal messages are unchanged — they simply leave through the provider's API instead of raw SMTP. Your business logic and templates stay as they are.

How do bounces and spam complaints get handled?

Your provider posts delivery, bounce and complaint events to signature-verified webhook endpoints in the app. Hard bounces and complaints are written to an `Email Suppression` DocType, and a pre-send hook then blocks future sends to those addresses. A scheduler job reconciles provider stats to catch any events a webhook missed.

What about support and updates after go-live?

Every build includes a post-go-live support window for defect fixes and deliverability tuning. Because you own the source in a git repository, you can maintain it yourself afterward, or engage ECOSIRE on a support/retainer basis for provider changes, new domains, upgrades to future ERPNext versions and feature additions.

Where are the provider API keys stored — is that secure?

Keys live in encrypted Frappe password fields on the settings DocType, gated by role permissions so only Email/System Managers can view or change them. They are not committed to source or exposed through the REST API, and webhook payloads are signature-verified before any record is updated.

Request a quote

Transactional Email Deliverability Connector

A build-to-order Frappe app that routes ERPNext's transactional email through Resend, Amazon SES or Postmark with proper DKIM/SPF/DMARC, webhook-driven bounce and complaint handling, and per-domain sending stats. ECOSIRE builds, installs and supports it for your v15/v16 site after a scoping call.

  • Pluggable provider adapters for Resend, Amazon SES and Postmark (SendGrid optional), swappable per sending domain via a single Settings DocType
  • Encrypted API-key storage using Frappe password fieldtype — no credentials in `site_config.json` or source
  • Intercepts ERPNext's Email Queue / outbound sending path so Notifications, print formats and workflow emails route via the provider API without touching your business logic
  • `Transactional Email Log` DocType recording provider message ID, domain, recipient, status and event timestamps, linked back to the source document

Request a Quotation

Tell us about your Transactional Email Deliverability Connector requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.