mailtanimailtani

Provider Setup

This guide walks you through setting up each supported email provider with Mailtani. You'll need credentials from your provider before adding a domain.

Resend

1. Create an Account

Sign up at resend.com and verify your email address.

2. Generate an API Key

  1. Go to API Keys in the Resend dashboard
  2. Click Create API Key
  3. Give it a descriptive name (e.g. "Mailtani Production")
  4. Set the permission to Full access (required for sending and domain verification)
  5. Choose the domain scope or select All domains
  6. Click Add and copy the API key immediately -- it won't be shown again

3. Add the Domain in Mailtani

  1. Go to Domains > Add Domain
  2. Select Resend as the provider
  3. Enter your domain name (e.g. mail.yourdomain.com)
  4. Paste the API key you copied
  5. Click Add Domain, then click Verify with Resend to generate DNS records
  6. Add the DNS records to your DNS provider and click Check Status

Webhooks

After verifying your domain, webhooks are configured automatically. See Webhook Setup for details.

Open Tracking

Mailtani asks Resend for open tracking per message, based on the Track opens toggle on each campaign or one-off email. Turning it on for a campaign does not affect anything else you send — your transactional email stays untracked unless you tick the box on that email too.

Opens are reported back through the webhook Mailtani creates when you verify the domain, which already subscribes to email.opened. In most cases there is nothing to configure in the Resend dashboard at all.

Two settings that will catch you out

Resend's dashboard has a tracking subdomain screen (Domains → your domain) with its own Enable click tracking and Enable open tracking switches. These are domain-wide defaults and they behave differently from Mailtani's per-campaign toggle:

  • Leave click tracking off unless you specifically want it. It rewrites every link in every email from that domain — including password resets and verification links — to route through a redirect subdomain. A fresh tracking subdomain has no sender reputation, and link-wrapping is a common spam signal, so this can cost you deliverability on exactly the mail you most need delivered. Mailtani does not need it for open tracking.
  • You do not need the domain-level open tracking switch. Mailtani already requests open tracking per message. Enabling it at the domain level risks applying pixels to mail you deliberately left untracked, and takes the decision away from the per-campaign toggle.

If your open rate reads 0%

Almost always the webhook is not receiving email.opened. Check, in order:

  1. Track opens is actually on for that campaign — it defaults to off.
  2. In Resend → Webhooks → your endpoint, email.opened is in the subscribed event list. Mailtani subscribes it automatically on domain verification, but a webhook that was edited by hand, or recreated in the Resend dashboard, can lose it.
  3. The sends in question went out after the toggle was enabled. Open tracking is applied at send time and cannot be applied retroactively.

Read opens as a signal, not a measurement. Apple Mail Privacy Protection and similar image-proxy features load the tracking pixel automatically, whether or not a human ever saw the message. That inflates open rates by an amount you cannot measure and which changes over time. Opens are useful for comparison — one subject line against another in the same campaign, or spotting a flow that suddenly stops being opened at all — and unreliable as an absolute number. Where you can measure the action the email was meant to cause, trust that instead.

Deliverability note: Open tracking is off by default. Tracking pixels can hurt deliverability with privacy-focused email clients and spam filters. Enable it only when you need the data — particularly avoid it for cold outreach sequences.

Tips

  • Resend requires your domain to be verified before sending. Verification usually takes a few minutes but can take up to 48 hours depending on DNS propagation.
  • You can verify domain ownership in Resend's own dashboard as well to confirm records are correct.

AWS SES

1. Create an IAM User

  1. Go to the AWS IAM Console
  2. Navigate to Users > Create user
  3. Enter a username (e.g. mailtani-ses)
  4. Click Next and select Attach policies directly
  5. Search for and attach the AmazonSESFullAccess policy
  6. Click through to create the user

2. Generate Access Keys

  1. Open the IAM user you just created
  2. Go to the Security credentials tab
  3. Under Access keys, click Create access key
  4. Select Third-party service as the use case
  5. Copy both the Access Key ID and Secret Access Key immediately -- the secret won't be shown again

3. Choose a Region

SES is region-specific. Common regions include:

RegionLocation
us-east-1N. Virginia (US)
us-west-2Oregon (US)
eu-west-1Ireland (EU)
eu-central-1Frankfurt (EU)
ap-southeast-1Singapore (Asia)

Make sure you choose the region where your SES account is set up. If you haven't configured SES yet, us-east-1 is the most common default.

4. Add the Domain in Mailtani

  1. Go to Domains > Add Domain
  2. Select AWS SES as the provider
  3. Enter your domain name
  4. Paste the Access Key ID and Secret Access Key
  5. Select the correct Region
  6. Click Add Domain, then click Verify with AWS SES to generate DNS records
  7. Add the DNS records to your DNS provider and click Check Status

Webhooks

After verifying your domain, webhooks are configured automatically via SNS and Configuration Sets. Your IAM user needs additional SNS permissions. See Webhook Setup for details.

Open Tracking

SES open tracking works through the Configuration Set that Mailtani creates automatically for your domain. When you enable the Track opens toggle on a campaign or one-off email, Mailtani attaches the Configuration Set to outgoing emails, which instructs SES to inject a tracking pixel.

When the pixel loads, SES fires an Open notification to your SNS topic, which Mailtani records as the first open time.

Deliverability note: Open tracking is off by default. SES's pixel rewrites links through AWS tracking domains, which some spam filters flag. Disable for cold outreach sequences where inbox placement matters more than open data.

SES Sandbox Mode

Important: All new AWS SES accounts start in sandbox mode. You will not be able to send to real contacts until you request production access. Do this before going live.

New AWS SES accounts start in sandbox mode, which means:

  • You can only send to verified email addresses (anyone you haven't pre-verified in the SES console will be rejected)
  • Sending is limited to 200 emails per 24 hours and 1 email per second
  • Any attempt to send to an unverified address will return a MessageRejected error

This affects Mailtani directly — campaigns and one-off emails to contacts outside your verified list will fail silently until you leave sandbox mode.

To request production access:

  1. Go to the SES Console
  2. In the left sidebar, click Account dashboard
  3. Click Request production access
  4. Fill out the form describing your use case and expected sending volume
  5. AWS typically reviews requests within 24 hours

Mailtani will remind you to do this on the final step of the setup wizard when SES is your selected provider.

Mailtrap

1. Find Your API Token

  1. Log in to mailtrap.io
  2. Click on your avatar in the top-right corner and go to Settings → API Tokens
  3. Create a new token (or use an existing one) — when setting permissions, set Account to Admin
  4. Copy the token value

Important: The token must have Account → Admin permission. This is required for Mailtani to register sending domains on your behalf. Tokens with only Inbox, Sandbox, or limited permissions will fail with an "Access forbidden" error.

2. Find Your Account ID

Your Account ID is in Account Settings → Account Details:

  1. Click your avatar in the top-right corner
  2. Select Account Settings
  3. Under Account Details, copy the Account ID

3. Add the Domain in Mailtani

  1. Go to Domains > Add Domain
  2. Select Mailtrap as the provider
  3. Enter your domain name
  4. Paste your API Token and Account ID
  5. Click Add Domain, then click Verify with Mailtrap to generate DNS records
  6. Add the DNS records to your DNS provider and click Check Status

Webhooks

Mailtrap webhooks must be configured manually in the Mailtrap dashboard. See Webhook Setup for step-by-step instructions.

Open Tracking

When you enable the Track opens toggle on a campaign or one-off email, Mailtani passes "open_tracking": true to the Mailtrap API for that send. Mailtrap injects the pixel and fires an open webhook event back to Mailtani when the email is opened.

Deliverability note: Open tracking is off by default. Disable for cold outreach to protect inbox placement.

Tips

  • Make sure you're using a Sending API token, not an Inbox testing token.
  • Your domain must also be added and verified within the Mailtrap dashboard under Sending Domains.