Customer admin

Set up No domain selected.

Complete billing, add domains, confirm DNS records, then create receiving inboxes and sender-only addresses within your package limits.

Setup progress

Finish the domain connection.

Sign in complete
Nythral IDSigned in as customer admin.
SubscriptionStart Nmail subscription before domain activation.
DomainChoose registrar and add DNS records.
VerificationRun DNS checker until every record passes.
AddressesCreate inboxes, sender-only addresses, and aliases after the domain is ready.

Domains

Your business has 0 business domains.

Package domain usage appears here after subscription sync. DNS setup, registrar notes, and verification live behind each domain's action buttons.

This business does not have domains yet

Add the first domain to start Nmail setup.

DNS records

DNS setup for No domain selected.

Waiting for check
Cloudflare instructions

Open Cloudflare DNS, select your domain, then add the records below with proxy disabled for mail records.

NameTypePriorityValueActionPurposeStatus
Select a domain to generate DNS records.
Custom instruction

If your registrar uses `@` for the root domain, use `@` instead of the full domain name. Keep DNS-only mode enabled for mail records where the registrar offers proxying. The `_nmail-verify` TXT record proves that this account controls the domain.

Outbound delivery

Choose mailbox delivery per domain.

Direct delivery sends normal mailbox SMTP from the Nmail mail server. Enhanced SES delivery uses Nythral-managed Amazon SES with tenant isolation, DKIM, MAIL FROM records, and reputation monitoring. Sender-only addresses and API sends always use verified SES.

Direct delivery
Delivery mode for No domain selected Choose Direct or SES for normal mailbox SMTP on this domain.
Current: Direct
Domain
No domain selected
Mode
Direct
SES status
Not configured
SES region
-
MAIL FROM
-
Direct delivery is active.

Use the DNS records tab to verify MX, SPF, DKIM, and DMARC for normal Nmail delivery.

Addresses

Create sending addresses and inboxes after DNS passes.

No addresses yet

Create the first inbox after the domain is verified. Sender-only addresses require verified SES.

Aliases

Prepare role addresses.

Aliases receive mail and deliver it to existing receiving inboxes. They do not have a password or separate inbox.

No aliases yet

Create aliases after at least one receiving inbox exists.

Transactional API

Send application email through Nmail SES.

API keys are for server-side transactional email only: OTP, password reset, confirmations, receipts, and account notifications.

Scale plan required
Tier
Standard
Monthly
50,000 emails
Daily
2,000 emails
Rate
20/min, 120/hour
Transactional use only

Standard keys are tuned for OTP, password resets, confirmations, receipts, and account notifications. Marketing, newsletters, bulk campaigns, purchased lists, and repeated broadcast-like traffic are not supported by this API. Accounts may be paused for Terms of Use review when traffic patterns do not match transactional use.

Quick integration guide
Quick integration

Install the official server-side package from a stable GitHub tag, keep the API key in your environment, and use an active Nmail address as the sender.

JS/PHP SDK v0.2.0

Install

npm install github:NythralHome/nmail-js#v0.2.0

composer config repositories.nmail vcs https://github.com/NythralHome/nmail-php
composer require nythral/nmail:0.2.0

Node.js

import { NmailClient } from "@nythral/nmail";

const nmail = new NmailClient({
  apiKey: process.env.NMAIL_API_KEY
});

await nmail.sendEmail({
    from: "app@yourdomain.com",
    to: "customer@example.com",
    subject: "Your login code",
    text: "Your login code is 184209.",
    stream: "auth",
    idempotencyKey: "login-code:user-123:184209"
});

Invoice PDF

await nmail.sendEmail({
  from: "invoices@yourdomain.com",
  to: ["billing@example.com"],
  cc: ["owner@example.com"],
  subject: "Invoice INV-001",
  text: "Please find your invoice attached.",
  html: "<p>Please find your invoice attached.</p>",
  stream: "billing",
  idempotencyKey: "invoice:INV-001",
  attachments: [{
    filename: "INV-001.pdf",
    contentType: "application/pdf",
    contentBase64: invoicePdfBuffer.toString("base64")
  }]
});

Laravel / PHP

use Nythral\Nmail\NmailClient;

$nmail = new NmailClient(
    apiKey: config('services.nmail.key')
);

$nmail->sendEmail([
    'from' => 'app@yourdomain.com',
    'to' => 'customer@example.com',
    'subject' => 'Order confirmed',
    'text' => 'Your order was confirmed.',
    'stream' => 'notifications',
]);

Response shape

{
  "id": "010001...",
  "messageId": "010001...",
  "status": "queued"
}

{
  "error": {
    "code": "ses_domain_required",
    "message": "Sender domain must have verified SES delivery before API sending"
  }
}
invalid_api_key
Missing, revoked, expired, or malformed key.
ses_domain_required
Sender domain is not verified for SES delivery yet.
ses_send_permission_required
Nmail SES runtime permissions need support review.
daily_limit_exceeded
Standard key reached minute, hourly, daily, or monthly limits.
recipient_limit_exceeded
Too many recipients for one standard API call.
account_suspended
Traffic matched unsupported bulk or policy review patterns.
No API keys yet

Create a standard key for your backend after SES delivery is verified for the sender domain.

Webhooks

Nmail can POST delivered, bounced, complaint, and rejected events to your application with an HMAC signature.

No webhooks yet

Create a webhook endpoint for delivery status updates.

Sent timeline

Recent sends and provider delivery events. Open tracking is not used.

No sent messages yet

Recent API and outbox sends will appear here.

Standard guardrails

Standard keys allow up to 3 recipients per request and are monitored for recipient spikes, repeated content, failed attempts, bounces, complaints, and rejects. Extended access is reviewed separately for higher transactional volume.

Security

Review delivery protection and account changes.

Suppression list is based on SES delivery events only. Nmail does not track opens.

Suppression list

Permanent bounces, complaints, and rejects are blocked for this account until manually released.

No suppressed recipients

Delivery protection has not blocked any recipients for this account.

Audit log

Recent domain, address, API key, delivery, and security changes.

No audit events yet

Changes will appear here after account actions are recorded.

Subscription

Start package.

No active Nmail subscription found for this Nythral ID yet. Start a subscription to unlock domain activation.

Plan
-
Status
-
Domain
-
Limits
-
Renewal
-

Start $5/mo

1 receiving inbox, 5 sender-only addresses, and guided domain setup.

Business $10/mo

3 receiving inboxes and 10 sender-only addresses for small teams.

Scale $20/mo

5 receiving inboxes, 20 sender-only addresses, and enhanced SES delivery.

Individual Custom

Custom limits, marketing setup, storage, SES migration, and SDK work.

Choose package
Connect Nythral ID
Connect Stripe card
Automatic monthly charge after trial

Support tickets

Report an issue or ask for help.

Create a ticket when a domain, mailbox, sender-only address, API key, billing flow, or delivery event does not work as expected.

No support tickets yet

Your open and resolved tickets will appear here after the support backend is connected.

Domain

Add a business domain

Delivery mode

Confirm delivery change

Review what happens before switching every address on this domain.

Domain
-
New mode
-
Applies to
All addresses
What happens next
  • Review the change before continuing.

Address

Create address

Turn this off for sender-only addresses such as app@domain. Sender-only addresses get the same password-style login for the Nmail outbox, but cannot receive mail until inbox access is enabled.

Inbox

Enable receiving mail

Outbox

Reset outbox password

Inbox

Reset inbox password

Alias

Create alias

API

Create API key

API

Send test email

Webhook

Create webhook

API

Request more volume