maximus Posted 3 hours ago Posted 3 hours ago Hi everyone, I’m releasing Resend, a ProcessWire module for transactional email, audience management and delivery operations through the Resend API. It works as a regular ProcessWire WireMail provider for everyday site email, while also exposing Resend-specific domains, contacts, segments, topics, templates, broadcasts, webhooks and delivery diagnostics inside the ProcessWire admin. What Resend does Sends ProcessWire mail through the Resend API as a WireMail provider. Supports transactional and batch sends, scheduling, cancellation, idempotency keys and tags. Manages sending domains and provides DNS setup guidance for SPF, MX, TXT and CNAME records. Manages contacts, segments, contact properties and topic subscriptions. Creates, edits, publishes and duplicates templates. Creates, edits, sends and schedules broadcasts. Receives and verifies Resend webhooks at /resend-webhook/. Stores webhook events locally for inspection and site automation. Lists sent and received email, attachments, API logs and delivery signals. Includes safe simulator sends using resend.dev recipients. Encrypts API keys and webhook secrets in a dedicated settings table. Bundles ProcessWire language files for English, French, German and Spanish. Includes a CLI for diagnostics and scripted operations. Normal ProcessWire mail API Existing site code can continue to use wireMail(): $mail = wireMail(); $mail->to('person@example.com') ->from('Site <hello@example.com>') ->subject('Thanks for your request') ->bodyHTML('<p>We received your request.</p>') ->send(); Resend-specific options are available when needed: $mail = wireMail(); $mail->to('person@example.com') ->subject('Welcome') ->bodyHTML('<p>Hello</p>'); $mail->scheduledAt('in 1 hour'); $mail->addTag('source', 'website'); $mail->idempotencyKey('welcome-' . $page->id); $mail->send(); Modules that discover providers by a WireMail* class name can select the included WireMail Resend compatibility module. Requirements ProcessWire 3.0.184 or newer PHP 8.1 or newer A Resend account A verified sending domain for production email Installation Copy the Resend directory to /site/modules/Resend/. Refresh modules in the ProcessWire admin. Install Resend; ProcessResend, ResendWebhooks and WireMailResend are installed automatically. Add the Resend API key and default sender in module settings. Open Setup → Resend and add or verify a sending domain. Use the simulator test screen before sending to real recipients. Screenshots Links GitHub: https://github.com/mxmsmnv/Resend Release 1.0.1: https://github.com/mxmsmnv/Resend/releases/tag/v1.0.1 Documentation: https://github.com/mxmsmnv/Resend/blob/main/DOCUMENTATION.md Issues and support: https://github.com/mxmsmnv/Resend/issues Feedback about WireMail compatibility, delivery workflows and the admin experience is welcome. 1
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now