Email & Outbound Mail
Joomni emails customers when they order, when order statuses change, and when you launch marketing campaigns. Customise those email templates and send directly from your own domain using Resend or Google / Custom SMTP.
Outbound Email Delivery
By default, your store transactional emails are delivered via Joomni's shared platform mail relay. To build trust with customers, maintain brand identity, and achieve maximum inbox deliverability, you can connect your own delivery provider on Business plans.
Joomni supports two enterprise-grade delivery options:
- Resend: Recommended for modern domain-authenticated transactional delivery via API. Fast, reliable, with built-in DKIM and SPF protection.
- Google Workspace / Custom SMTP: Ideal if you already have a Google Workspace or Gmail mailbox, or your own dedicated SMTP server.
Option A: Setup with Resend
Resend is a modern developer-first email platform that delivers transactional emails cleanly into recipient inboxes.
| Field | What it does |
|---|---|
| Resend API Key | Your API key from the Resend Dashboard (starts with re_). Requires sending permissions. |
| Sending Domain | The custom domain or subdomain verified in your Resend account, for example mail.yourbrand.com. |
| From Email | The authenticated sender address matching your domain, for example [email protected]. |
Verify your domain in Resend
Log in to Resend, go to Domains, add your domain, and configure the suggested DNS records (DKIM, SPF, and MX) with your DNS registrar (e.g. Cloudflare, GoDaddy, or Namecheap).Create an API Key
In Resend, navigate to API Keys, click Create API Key, select Full Access or Sending Access, and copy the secret key.Enter details in Joomni Settings
Go to Settings › Mail / SMTP, select the Resend tab, paste your API key, domain, and from email, and click Save Settings.
Option B: Setup with Google Workspace or Custom SMTP
Connect any standard SMTP server or Google Workspace / Gmail account to send store emails directly from your business inbox.
| Field | What it does |
|---|---|
| SMTP Host and Port | Your provider’s server address and port. For Gmail, use smtp.gmail.com with port 587 or 465. |
| Username / Email | Your full mailbox login address, for example [email protected]. |
| Password / App Password | Your mailbox password. For Gmail or Google Workspace accounts, you must generate a 16-character App Password (see below). |
| Use Secure Connection (SSL/TLS) | Enable for port 465 (SSL). Keep disabled for port 587 (which negotiates TLS automatically). |
| From Name & From Email | The display name and reply address shown to your recipients, e.g. "Himalayan Crafts" <[email protected]>. |
Using Gmail or Google Workspace
- Go to your Google Account Settings › Security.
- Ensure 2-Step Verification is switched ON.
- Search for App passwords (or find it under 2-Step Verification).
- Create an app named “Joomni Store” and copy the generated 16-character password.
- Paste that 16-character code into the Joomni SMTP Password field without spaces.
Sender Identity & Anti-Spam Alignment
To prevent emails from landing in spam or failing DMARC/SPF checks:
- Google SMTP: Your From Email should match the Gmail username you authenticated with. Google rejects or rewrites mismatched sender addresses.
- Resend: Your From Email must end with the domain verified in your Resend account (e.g.
@mail.yourbrand.com).
Testing Your Connection
Before going live, verify that your credentials work:
Save your settings first
Click Save Settings so your latest SMTP or Resend credentials are stored.Send a verification test
Scroll down to Send Test Email, type your personal email address into the recipient box, and click Send Test Email.Instant verification
Joomni immediately attempts a live handshake with Resend or your SMTP host. If successful, you will see a green confirmation badge and receive the test email within seconds. If credentials or ports are incorrect, an explicit error diagnostic will appear explaining the issue.
Email Templates
Each customer email your store sends has a customizable template. Select one from Email Types, then:
| Template | Sent when |
|---|---|
| Order Confirmation | A customer places an order. |
| New Order (store owner) | You get an order. This notification goes to you. |
| Order Status Update | An order’s status changes (e.g. Dispatched, In Transit, Delivered). |
| Order Cancelled | An order is cancelled. |
| Order Refunded | An order is refunded, in full or in part. |
| Abandoned Cart, Review Request, Back in Stock | Not sent automatically yet. You can customise them now, ahead of launch. |
Edit the subject and HTML body
Use merge tags in double braces, such as{{orderNumber}}, which are replaced with real data when the email is sent. Loops like{{#each items}}list the order's items.Check the Preview
It renders with sample data.Send template preview
Send the draft template to your own inbox to review formatting on mobile and desktop.Enable or disable
Switch off any email you don't want sent. Reset to default restores the original template.
Related guides