Reference
Changelog
New features, improvements and fixes across the Emailit API, SMTP relay, dashboard, MCP server and marketing tools.
October 2026
New
Connected apps and multi-workspace access for AI apps
Account & securityMCP serverWorkspaces
- Choose workspaces when you connect: allow all your workspaces (including future ones) or only the ones you tick, and pick where the app starts.
- Work across workspaces: name a workspace in your request (“In Acme Client, list the domains”) and the assistant runs that one call there with the new
workspaceargument, without changing its default. - Your role applies: in workspaces where you’re a Member, AI apps can’t manage API keys or delete domains, over MCP and the REST API alike.
- Connected apps: a new tab under Account lists every app you approved with its workspaces, access and connection date. Edit access changes its workspaces without reconnecting; Revoke access cuts it off immediately.
See Connected apps and Workspaces and permissions. Integrations can manage grants with the new
PUT /oauth/grants/:id/workspacesendpoint; see OAuth apps.New
Emailit plugins for ChatGPT, Codex, Claude Code, Cursor and Grok
The Emailit plugin bundles the hosted MCP server with seven skills and a Cursor rule:
emailit,emailit-get-started,emailit-domain-setup,emailit-deliverability,emailit-campaigns,emailit-webhooksandemailit-sdk.- A Cursor rule that keeps API keys and webhook secrets out of source code.
Install it from the plugin directory in ChatGPT and Cursor, or from the
emailit/emailit-pluginsmarketplace in Claude Code, Codex and Grok Build. On claude.ai and Claude Desktop, use the Emailit connector. See Plugins and skills and the guides for ChatGPT, Claude, Cursor, Codex and Grok.Improved
Hosted MCP server covers the full API v2
The MCP server at
https://api.emailit.com/mcpnow covers everything in API v2:- New toolsets: campaigns, automations, forms, DMARC reports, email verification, events, contact bulk actions and export, subscribers, and webhook tests, retries and secret rotation. See the tool reference.
- Annotations: every tool is labeled read-only, destructive, idempotent or open-world, so clients can ask before running write actions.
- Structured results: tools return JSON as text and as structured content for clients that parse it.
- Built-in instructions: the server tells assistants to confirm recipients before sending and to ask before deleting anything.
- Toolsets and read-only mode: load fewer tools with
?toolsets=or hide write tools with?read_only=true. See Toolsets. - Stateless transport: no MCP sessions to expire; clients send every request with
POST.
Fixed: OAuth connections approved with both the
sendingandfullscopes now work on every tool, and the workspace you switch to stays selected after the client refreshes its token.Fixed
Campaign wizard and sending fixes
- The Send step offers Immediately or Schedule again, and the scheduled time is saved and shown on the campaign.
- Duplicate asks for a name, prefilled with the original name plus “(Copy)”.
- Send now queues the campaign right away, the campaign moves to Sent once its emails are dispatched, and its details page opens after you send.
- Audiences you pick on the Recipients step are saved when you select Continue, and the picker shows each audience’s subscriber count.
- Removing content on the Content step no longer crashes the wizard, and the campaigns list shows the newest campaigns first.
- Rename, duplicate and test sends work for older campaigns again.
Improved
Spam score column in the emails list
- The emails list in Email API → Emails has a Spam score column. Sort by it, or show and hide it in Display options.
- Score badges are green below 5, orange from 5 up to 7, and red at 7 or more, the score at which Emailit holds a message. Gray means the message wasn’t inspected.
- On the email detail page, each delivery row shows its status, the full reason and the time on one line.
See Spam checks.
Fixed
Workspace invitation links fixed
Some invitation emails linked to an address the dashboard didn’t recognize, so invitees saw a 404 page. New invitations use a corrected link, and links in invitations you already sent redirect to the right page.
You can open an invitation while signed out. To accept it, sign in with the invited email address. See Invitations.
Changed
Sending domain limits per plan
Sending domainsBilling & credits
The number of sending domains a workspace can add now depends on its plan:
Plan Sending domains Pay as you go 3, or 25 after your first credit purchase Pro 100 Business 1,000 If a lifetime license is active on the workspace, the license tier’s domain limit applies instead of the plan limit. The limit is checked when you add a domain: the Domains page shows how many domains you use, and Create a domain returns
422when you’re at the limit. See Domain limits.Fixed
Email verification list fixes
- Creating a list no longer fails after the credits are charged. If a list still can’t be created, the credits are refunded.
- Background verification jobs finish processing every address in the list.
- Export XLSX downloads the results file directly instead of failing in the browser.
See Verification lists.
September 2026
Improved
Emails list columns, filters and readable subjects
- Created and Updated columns are available in Display options and can be sorted. Hover a date to see it in local time and UTC and copy either value.
- The Status filter includes held.
- The search box has a clear button, and search ignores letter case again.
- Subjects with accents, non-Latin scripts or emoji display as text instead of encoded strings, and the email preview decodes base64 and quoted-printable bodies.
See Email logs.
Fixed
Unsubscribe, automation and contact fixes
- Unsubscribe links in campaign emails record the opt-out without asking the recipient to sign in.
- You can save an automation as a draft before every step is configured, for example before you choose a template. Emailit checks the steps when you start the automation.
- Contact pages with a long email history load without timing out.
- Audience lists show real subscriber counts, editing a contact no longer changes its audience memberships, and contact exports download correctly.
See Unsubscribes.
Improved
Retry held emails
The Retry button on a held email now works, and Retry an email accepts emails with the status
held. Fix the reason the email was held first, for example a high spam score or missing credits, then retry it.A retry creates a new email with a new ID and costs credits like any other send. Emails older than 30 days, or whose content was removed by data retention, can’t be retried. See Retry and forward.
Fixed
Dragit editor fixes
The drag-and-drop editor saves your work every few seconds. Those autosaves no longer close the editor in templates and campaigns.
Uploading images from the editor’s file manager works again, and uploaded images are served from Emailit’s CDN. See Template editors.
Changed
Reply-To removed when it matches From
Email APISMTP relayDeliverability
Emailit compares the addresses in
Reply-ToandFrom, ignoring display names and letter case. When they’re the same, it removesReply-Tobefore signing the message. Replies still reach theFromaddress.When the addresses differ,
Reply-Tois kept unchanged. See Email headers.Fixed
Sending domain matching and subdomain settings
Sending domainsEmail APISMTP relayOpen & click trackingInbound email
- The API and SMTP match the
Fromdomain without regard to letter case, soada@Acme.comsends from the verified domainacme.com. - Changing a domain’s tracking or inbound subdomain in the dashboard, or with
tracking_keyandinbound_keyin Update a domain, now saves the new value. Publish the DNS record for the new name and verify it.
- The API and SMTP match the
Fixed
Sign-in and password reset fixes
- Password reset links open the form to choose a new password instead of a 404 page.
- After you request a reset, the dashboard confirms that a reset email is on its way.
- Sign-in and password reset match your email address regardless of letter case.
See Sign-in and security.
New
Spam Checks on the email detail page
Open an email in Email API → Emails to find the Spam Checks panel under the deliveries. It lists every rule the spam filter matched, with a description and a score. Filter by Negative (rules that raised the score), Positive (rules that lowered it) or Neutral.
Messages that score 7 or more are held. Use the checks to find what to change, then retry the email. See Spam checks.
Improved
Workspace verification request status
After you request production access, the dashboard shows the request’s status and links to it. When the Emailit team asks a question, the request shows Awaiting Your Reply. Once you reply, it moves back to Pending Review.
See Production access.
Fixed
Analytics dashboard fixes
- Bounce rate and complaint rate show on the Analytics dashboard on every plan, and the Complaints tile counts every complaint.
- Drag a widget by its title or resize it from its handle. A dashed placeholder shows where it will land.
- The domain and API key filters are multi-select, and the date range picker applies presets, custom times and the time zone without covering the calendar.
See Analytics dashboard.
Fixed
API v2 compatibility fixes
REST APIAPI keysEmail APISending domains
- API keys created before keys had the
secret_prefix are accepted on/v2again. - Retrieve an email returns the full email object, including
object,fromandto. - Domain responses return
track_loadsandtrack_clicksas0or1, as documented.
- API keys created before keys had the
Fixed
Billing usage and credit balance fixes
- The chart on Billable usage draws one bar per UTC day from the start of the billing period, based on actual usage.
- The credit balance in the sidebar and on the dashboard includes plan, bonus and license credits, not only purchased credits.
- Included credit usage resets every month for workspaces without a subscription.
- Invoice language options show language names, the billing address form fits its dialog, and the Custom plan is listed last.
- The separate Usage page was removed. Credits and limits are on Workspace → Billing and the dashboard.
See Credits.
Changed
Emails send untracked until the tracking domain is verified
Open & click trackingEmail API
A send request with
trackingturned on used to fail with422when the sending domain had no verified tracking CNAME. Emailit now accepts the email and sends it without rewriting links or adding the open pixel.To track opens and clicks, publish the tracking CNAME record for your domain and verify it. See Custom tracking domain.
New
Account settings and time zone
- In Account → General, change your name, your email address and your password. Emailit sends a 6-digit code to the new email address and switches it only after you enter the code. Changing your password requires your current one.
- The account menu has a Timezone setting. Local, the default, shows times in your browser’s time zone with its UTC offset, and Standard (UTC) shows UTC.
See Sign-in and security.
New
Analytics replaces Metrics
- Dashboard (every plan): a grid of widgets for sends, bounces, complaints, loads and clicks that you can add, resize and rearrange.
- Advanced (Pro and above): emails by status, server responses, 4xx and 5xx errors, time to inbox, and loads and clicks.
- Queryable (Business and Custom): build queries or write SQL against your email data and save them.
Filter by sending domain and API key, and pick a time range in local time or UTC. See Analytics.
New
API and SMTP request logs
Open Email API → Logs to see successful and failed requests from the last hour up to the last 30 days. Filter by source (API or SMTP), outcome, method, path, status code, duration or API key, and open a request to see its request and response bodies. Sensitive values are redacted and long bodies are shortened.
See Request logs.
Changed
Emails show attempted while Emailit retries
Temporary failures were recorded on the delivery, but the email kept its earlier status. The email itself now moves to
attemptedwhile Emailit retries, so the emails list and the API show which emails are delayed.Later statuses, such as
delivered, and final statuses aren’t overwritten. See Email statuses.Changed
Subscriber and webhook limits per plan
AudiencesWebhooksLimits & retention
Limit Pay as you go Pro Business Subscribers per audience 10,000 50,000 250,000 Webhook endpoints 3 10 100 Webhook payload filters Not available Available Available Custom plans have no subscriber limit. The subscriber limit applies when you add subscribers, import contacts, use an audience’s subscribe URL and run automations. Creating a webhook above your limit returns
422, and the Audiences and Webhooks pages show how much of each limit you use.On Pay as you go, setting a payload filter returns
403withplan_required, and existing filters are ignored. See Limits.Changed
Automatic sending limit increases on Pro and Business
Limits & retentionDeliverability
Emailit raises the per-second and daily sending limits of healthy Pro and Business workspaces automatically, at most once every 7 days.
On Pay as you go, your limits stay the same until you ask for more with Request Increase on the dashboard’s Sending Limits card. See Limits.
New
Automatic suppression settings and CSV import
- In Workspace → Settings → Suppressions, Pro and Business workspaces can turn automatic suppression off or choose bounces and complaints, bounces only, or complaints only. Pay as you go always suppresses bounces and complaints.
- The Suppressions list has search, filters and sortable columns.
- Import up to 10,000 suppressions from a CSV file with the columns
email,type,reason, and export your list as CSV.
See Manage suppressions.
Improved
Reply-To on automation Send email steps
Set Reply to on a Send email step to send replies to a different address than the template’s, for example a support inbox. If you leave it empty, the step uses the template’s Reply-To.
See Automation steps.
New
New billing page
Workspace → Billing has three tabs:
- Workspace plan: switch between Pay as you go, Pro and Business, monthly or yearly. Set up auto-refill, redeem an AppSumo license, and manage your card, billing email and billing address.
- Billable usage: your included and purchased credits, usage per product, and Purchase for any whole-dollar amount from $20 to $500.
- Invoices: every invoice with its date, number, amount and status.
See Billing.
Changed
Campaign emails cost 2 credits
Campaign sends, including retries of campaign emails, are charged 2 credits per recipient. Email sent with the API or SMTP stays at 1 credit.
On Workspace → Billing → Billable usage, campaigns have their own line. The workspace summary shows included and purchased credits separately, and a tooltip lists where your included credits come from: your plan, a partner or referral bonus, or a license. See Credits.
New
Campaign PDF reports and delivery by provider
- Export report on a campaign creates a PDF with sends, deliveries, loads, clicks, bounces and unsubscribes, filtered by date range and email status.
- Campaign reports show recipients by provider: Gmail, Outlook, Live, Hotmail, Yahoo, iCloud and Other.
- Analytics adds Delivery by provider, with send volume per provider on the dashboard and delivery rates over time on the Advanced tab.
See Campaign reports.
New
Preview and test campaigns as a contact
Pick a contact on the Preview and test step to see the campaign with their first name, last name, email address, custom fields and unsubscribe link filled in. From the same step, send a test to up to 5 addresses.
Improved
Campaign report bounce metrics and progress
Sent campaigns show eight metrics: sent, loaded, clicked, click-through rate, unsubscribed, bounced, suppressed and complained.
While a campaign is still sending, its page shows an In process state with its progress and the number of attempted and not yet processed emails. See Campaign reports.
New
One-click DNS setup for Cloudflare
On a domain’s DNS Setup tab, Emailit detects Cloudflare nameservers and offers Set up with Cloudflare. Paste a Cloudflare API token with Zone Read and DNS Edit permissions for the zone, choose which optional records to add, and Emailit creates or updates the records and checks DNS again.
The token is stored encrypted so you can sync the records again later, and you can disconnect it at any time. An existing DMARC record isn’t changed. See Set up DNS with Cloudflare.
New
Compose and cancel emails from the dashboard
- Compose on the Emails page, or in Quick Actions on the dashboard, sends a one-off email from a verified domain, for example to test your setup. Under Advanced you can attribute the send to an API key. Compose allows 3 emails per minute and 10 per hour per workspace. See Compose.
- Cancel delivery pulls an accepted, scheduled or attempted email from the queue. Cancellation is best effort: an email that’s already being handed to the recipient’s server may still be delivered. See Cancel an email.
New
DMARC reports
Turn on DMARC reports for a domain and add the suggested
ruaandrufaddresses to its DMARC record. Emailit receives the reports at a hosted address and shows total volume, pass rate, failing volume and dispositions, broken down by source IP, country and network (ASN).You can also upload reports you received elsewhere as
.xml,.xml.gz,.zipor.emlfiles of up to 10 MB. See DMARC reports.Changed
DMARC reports require Pro or Business
Turning on DMARC reports for a domain now requires a Pro, Business or Custom plan, both in the dashboard and with
dmarc_reportsin the API. On Pay as you go, the DMARC reports page explains the feature and links to an upgrade.See DMARC reports.
Changed
Domain usage badge and lasting domain approval
On Pay as you go, a new domain registered less than 30 days ago waits for approval from the Emailit team before it can send. Once a domain is approved, the approval stays: if its DNS records later fail a check, sending stops until you fix them, but the domain doesn’t need to be reviewed again.
The Domains page title shows a used/limit badge for your plan. See Domain verification.
Improved
Daily DNS checks for sending domains
If a verified domain’s SPF, DKIM or return-path record stops passing, Emailit marks the domain as not verified and emails the workspace owner, so you can fix the record before your sends fail.
Domain verification also compares the DKIM record’s
v,kandpvalues instead of the raw text, so extra spaces, quoting or a different tag order no longer cause a failure. See Domain verification.Improved
IP addresses for clicks, loads and unsubscribes
Email logsCampaignsOpen & click tracking
The Loads and Clicks tabs on an email show the IP address of each event, and campaign reports show the latest IP address for each contact who loaded or clicked. Unsubscribes now record and display the IP address too.
See Email details.
New
Forward an email
Select Forward on an email’s detail page, or call Forward an email with a
toaddress. By default the recipient gets a plain copy. Turn on the forwarded headers and add a comment if you want to give context.A forward is a new email: it costs credits and counts toward your sending limits. You can forward 3 emails per hour per workspace. See Retry and forward.
New
Hosted MCP server with OAuth
The hosted server uses the Streamable HTTP transport. Clients that support OAuth open an Emailit sign-in and consent page, where you choose the workspaces to share and whether the client gets the
sendingorfullscope. With OAuth, the assistant can also list, switch and create workspaces. Clients without OAuth can send an API key as a bearer token instead.claude mcp add emailit --transport http https://api.emailit.com/mcpSee MCP server.
New
Filters and sorting on every list
In the dashboard, use Filters to combine conditions with Match all or Match any, click column headers to sort, and choose columns in Display options.
In the API, filter with
field.condition=valuequery parameters, combine them withmatch=allormatch=or, and sort withorderanddirection:curl "https://api.emailit.com/v2/emails?status.exact=bounced&created_at.after=2026-09-01&order=created_at&direction=desc" \ -H "Authorization: Bearer $EMAILIT_API_KEY"Each list endpoint documents its filterable fields. See Filtering.
New
Email Marketing overview and contact profiles
- Email Marketing → Overview shows contact growth over the last 14 days and a summary of your campaigns, forms and automations.
- A contact’s page shows engagement metrics, the emails sent to the contact, an activity log, and audience memberships you can change in place.
- The contacts list supports filters, sorting, export and bulk actions such as adding to an audience, unsubscribing and deleting.
See Contacts.
New
New dashboard
- Sign in with a passkey, such as Touch ID, Face ID or a security key, and protect your account with an authenticator app and recovery codes.
- The Dashboard page walks you through adding a domain, creating an API key or campaign, and sending your first email, and has Quick Actions for common tasks.
- The Sending Limits card shows your per-second and daily limits and usage, with Request Increase to ask for higher limits.
- Switch workspaces from the sidebar, toggle light and dark mode, and reach support from the top bar.
See How Emailit works.
Changed
Plan credits, extra credit rates and add-ons
- Pro includes 100,000 credits per month and Business 2,500,000. Extra credits cost $1 per 10,000 on Pro and Business and $2 per 10,000 on Pay as you go.
- The Add-ons section on the Billing page offers Data retention ($50 per month), to choose how long Emailit keeps your data, and Dedicated IP, which you request from the Emailit team.
- Contact sales on the Custom plan opens a Custom plan request.
- A redeemed AppSumo license stays active when you change plans and adds its benefits on top of the current plan.
Changed
Referral and partner codes move to your account
Referrals & partnersAccount & security
- Every account has a referral code and share link under Account → Referrals, with stats, the accounts you referred and their progress.
- Codes apply when someone signs up, from a
?ref=link or entered in Do you have a Partner/Referral code?. They can’t be added after sign-up. - Friends get 5,000 extra monthly included credits (10,000 on Pro and Business) on their first workspace. You earn 5,000 credits for each qualified friend, up to 20 friends, plus 10% of the credits they buy.
- Claim moves your rewards into a workspace where you’re an Admin.
Changed
Sandbox workspaces send only to members
WorkspacesEmail APISMTP relayCampaigns
The sandbox rule now applies to the API, SMTP, Compose, retries, automations and campaigns. Sending to anyone else returns
403with the codeunverified_workspace_recipientfrom the API and550from SMTP, and campaign sends are blocked. Workspaces with production access aren’t affected.To lift the restriction, verify a domain and request production access.
New
Sending health score
Emailit calculates sending health every hour from the bounce rate among unique recipients over the last 7, 30 and 90 days, once you’ve sent to at least 100 unique recipients. You’ll find it in three places:
- Dashboard: the workspace score and status.
- Analytics: bounce rate and complaint rate charts.
- Domain → Sending health: the score and its history by day, week or month for one domain, on Pro and above.
Keep your bounce rate under 2% to stay healthy. Above 4%, the workspace is at risk. See Sending health.
Changed
Sending-only API keys limited to send endpoints
Sending-only keys could previously list and retrieve emails and call some other read endpoints. They’re now limited to Send an email and the actions on an existing email: reschedule, cancel, retry and forward. Other endpoints reject sending keys.
If your integration also reads emails, domains or other resources, use a full access key for those calls. See API keys.
Changed
Email sign-in codes
After you enter your password, Emailit emails a 6-digit code that you enter to finish signing in. If you’ve set up an authenticator app for two-factor authentication, you enter the app’s code instead and don’t get an email code.
New
Sign-up codes and workspace invite codes
After you register, enter the 6-digit code Emailit emails you instead of clicking a link. Then create a workspace, or join one with an invite code from one of its Admins.
Admins create invite codes in Workspace → Settings → Members. A code expires after 24 hours and adds you as a Member. After 5 wrong codes, joining is locked for an hour. See Invitations.
Improved
SMTP replies include the email ID
The reply lists the Emailit email ID of each recipient’s email, separated by commas when they fit on the reply line:
250 2.0.0 OK: queued as em_4yM2nTvR8oPcX3uZiKeLg7sBUse the ID with Retrieve an email or to match
email.*webhook events. See SMTP reply codes.New
Spam scoring for outgoing mail
Before delivery, Emailit checks each signed message with Rspamd, an open-source spam filter. Messages that score 7 or more get the status
heldinstead of being sent, so mail that would likely land in spam doesn’t hurt your reputation. If the spam filter is unavailable, mail is sent without a score rather than delayed.To release a held message, fix its content and retry it. See Spam checks.
New
Template import, export and picker
- Import a Dragit
.jsonfile, an.htmlfile or a.zippackage with images. Images are uploaded to Emailit’s CDN and their links are rewritten. - Export a template as Dragit JSON, HTML or ZIP from its menu.
- Sort the templates list, and use the searchable template picker in campaigns and automations to reach every published template.
- Save as template on a campaign copies its subject, sender, reply-to address, content and editor into a new template.
- Import a Dragit
Changed
Tracking requires a custom tracking domain
Open & click trackingSending domains
To track opens and clicks, publish a CNAME record from
go.yourdomain.com(or your custom tracking subdomain) togo.emailitmail.comand verify it. The Track loads and Track clicks switches on a domain turn on only after the record is verified.Links and open pixels in emails you sent earlier with shared tracking links keep working. See Custom tracking domain.
New
Webhook filters, test events and manual retries
- Send test delivers a sample payload for any event type to your endpoint.
- Payload filters deliver only the events whose data matches up to 25 rules.
- Webhook secret resets the signing secret.
- Failed requests are retried after 5 minutes, 30 minutes, 2 hours and 5 hours, then every 12 hours, up to 11 attempts. Emailit emails the workspace owner when an endpoint keeps failing and disables it after 3 days of continuous failures.
- Retry failed re-queues the failed requests from the last 7 days and re-enables the webhook. You can also retry a single request.
See Webhooks and Retries and failures.
Improved
Temple templating reference
Temple supports variables with nested paths such as
{{order.items.0.sku}}, default values such as{{first_name|"there"}}, and{{#if plan}}…{{else}}…{{/if}}blocks. Missing variables render as empty text.The reference also explains where Temple runs: in API sends that use a
templateorvariables, and in automation Send email steps. Campaigns use their own merge tags, and SMTP mail isn’t templated. See Temple.
July 2026
New
Countdown timer images
Design a timer in the countdown builder and copy its image URL into your email or template. The image is generated each time it’s loaded, so it shows the time left until your deadline. Images can be 100 to 1,200 pixels wide.
May 2026
New
Emailit MCP server
The
@emailit/emailit-mcppackage exposes tools for emails, domains, API keys, audiences, contacts, templates, suppressions and webhooks. It runs over stdio or HTTP, needs Node.js 18 or later, and is MIT-licensed on GitHub.claude mcp add emailit -e EMAILIT_API_KEY=$EMAILIT_API_KEY -- npx -y @emailit/emailit-mcpSee Local MCP server.
New
Spam complaints from feedback loops
DeliverabilitySuppressionsWebhooks
When a recipient marks your email as spam and their provider reports it through a feedback loop, Emailit matches the report to the original email, sets its status to
complainedand sends anemail.complainedevent. The address is added to your suppression list as a complaint, so you don’t email it again.
April 2026
New
Automations (beta)
Start from a template, such as a welcome email, a birthday email, a three-day onboarding sequence or bounce notifications, or build a workflow from scratch. Automations start on contact events, such as a contact joining an audience or a date anniversary, or on email events such as bounced or received, and run steps like Send email, Wait, Condition and Add to audience.
Each run costs 3 credits, and each email an automation sends or forwards costs 1 credit. See Automations.
March 2026
New
Workspace verification
To request production access, verify at least one sending domain, then fill in the verification form: your email type (transactional or marketing), website, use case, how you collect subscribers, expected monthly volume and the compliance confirmations. The team replies in the request’s conversation, and you get an email at every step. Once the request is approved, the workspace leaves the sandbox.
See Production access.
New
PHP SDK and Laravel package
- Install the PHP SDK with
composer require emailit/emailit-phpto send email and manage domains, templates, contacts and more from any PHP app. See PHP. - Install the Laravel package with
composer require emailit/emailit-laravel. Your existing Mailables and notifications send through Emailit, and a facade gives you the full API. See Laravel.
- Install the PHP SDK with
New
List emails and read their content with the API
- List emails:
GET /v2/emails - Retrieve raw MIME:
GET /v2/emails/:id/raw - Retrieve the body:
GET /v2/emails/:id/body - Retrieve metadata:
GET /v2/emails/:id/meta - List attachments:
GET /v2/emails/:id/attachments
These endpoints need a full access key. Content is available until your plan’s data retention period removes it.
- List emails:
February 2026
New
Webhooks v2
Every request is signed with your webhook secret. To verify one, compute an HMAC-SHA256 of the
X-Emailit-Timestampvalue, a dot and the raw body, and compare it with theX-Emailit-Signatureheader. Subscribe to specific event types or to all events. Failed deliveries are retried automatically.See Webhooks for the current payload format and retry schedule.
Changed
Simplified email statuses
Old status New status pendingacceptedorscheduledsentdeliveredsoftfailattemptedhardfailbouncedopenedloadederrorfailedExisting emails and deliveries were migrated to the new names. Events and webhook requests created before the change keep the values they were sent with. See Email statuses for the current list.
New
Inbound email
Add an MX record for
inbound.yourdomain.comthat points toinbound.emailitmail.comwith priority 10. Emailit accepts mail for any address on that subdomain and sends anemail.receivedevent with the sender, recipient, subject and email ID. Fetch the full message with Retrieve an email.Each received email costs 1 credit. See Set up inbound email.
New
Contacts, Events and Webhooks APIs
ContactsEmail logsWebhooksREST API
- Contacts: create, list, retrieve, update and delete contacts. Look a contact up by its
con_ID or email address, and add it to audiences in the same call. - Events: list events, filtered by one or more types and optionally with their data, and retrieve a single event.
- Webhooks: create, list, retrieve, update and delete webhook endpoints.
These endpoints need a full access key. See the API reference.
- Contacts: create, list, retrieve, update and delete contacts. Look a contact up by its
New
Templates and the Templates API
Build templates with the HTML editor, the rich-text editor or the Dragit drag-and-drop editor. Templates that share an alias are versions of one template, and only the published version is used when you send by alias.
Manage templates with the Templates API, and send one by passing
templateandvariablesto Send an email. See Templates.New
Email Verification API
Call
POST /v2/email-verificationsto check one address, or create a verification list to check many addresses in the background and export the results to XLSX. Each verified address costs 5 credits.See Email verification.
January 2026
Changed
Prefixed object IDs
IDs are unique across services and sort by creation time. Common prefixes are
em_for emails,dom_for domains,key_for API keys,aud_for audiences,sub_for subscribers,con_for contacts,sup_for suppressions,wh_for webhooks,evt_for events andcmp_for campaigns.Store IDs as opaque strings rather than parsing them.
New
Retry button
Retry duplicates the original email, gives the copy a new ID and sends it through the normal pipeline. It’s billed like any new email. To retry from code, call Retry an email.
Deprecated
API v1 deprecated
New features ship only in API v2 at
https://api.emailit.com/v2. If you still call/v1, switch to the v2 endpoints and send your API key in theAuthorization: Bearerheader.See Versioning.
New
Emails endpoints in API v2
- Send an email: each recipient gets its own email ID. Schedule with an ISO 8601 date, a Unix timestamp or natural language such as “tomorrow at 9am”, and prevent duplicates with the
Idempotency-Keyheader. - Retrieve an email: status, headers, content, tracking settings and metadata.
- Update a scheduled email: change the send time up to 3 minutes before it’s due.
- Cancel an email: stop a scheduled or queued email.
Every send response includes
ratelimit-*headers. See Rate limits.- Send an email: each recipient gets its own email ID. Schedule with an ISO 8601 date, a Unix timestamp or natural language such as “tomorrow at 9am”, and prevent duplicates with the
December 2025
New
Custom tracking URLs and the Domains rename
Open & click trackingSending domains
Add a CNAME record from
go.yourdomain.comtogo.emailitmail.comto serve tracking links from your own domain, or choose another subdomain with the domain’s tracking key.Sending Domains are now called Domains in the dashboard, and the API endpoint
/v2/sending-domainsmoved to/v2/domains. See Custom tracking domain.Improved
Smarter bounce handling
- Bounce messages that arrive after delivery are matched to the original email, which is then marked
bounced. - Over-quota, unknown-user and disabled-mailbox replies sent with temporary
4xxcodes are treated as hard bounces instead of being retried. - After a
451reply, Emailit pauses delivery from that IP to that recipient domain for 5 minutes, and for 1 hour after a550 5.7.1block.
See Bounce categories.
- Bounce messages that arrive after delivery are matched to the original email, which is then marked
October 2025
New
API v2
REST APIAPI keysSending domainsAudiencesSuppressions
API keys replace credentials. A key has the
fullorsendingscope, a sending key can be restricted to one sending domain, and you can manage keys through the API. API v1 stayed available while you migrated.See the API reference.
Changed
Per-second and daily rate limits
Limits & retentionEmail APISMTP relay
Requests over the limit are rejected instead of queued, so configure your client to send at most 2 emails per second or to retry rejected sends. The change was rolled out to workspaces gradually.
See Rate limits.
New
Workspace members
Open Members in your workspace settings and select Invite Member. Each invitee gets an email with a link to join. Admins can manage everything in the workspace, and Members can use the workspace without access to its settings. You can remove members from the same page.
See Members and roles.