Ecommerce email platform
Klaviyo logo

Klaviyo SMTP Settings and Configuration (2026)

i

No SMTP relay — Klaviyo sends over its API only

Klaviyo issues no SMTP credentials on any plan: no host, no port, nothing to paste into WP Mail SMTP, WooCommerce or Magento 2. Staff have confirmed it repeatedly, most bluntly with “If you require one, I recommend you use another SMTP provider”. Everything leaves through a Klaviyo-rendered template triggered by an event on the REST API at https://a.klaviyo.com/api. For receipts, resets and app mail, pair Klaviyo with Postmark or Amazon SES.

Most people searching for Klaviyo SMTP settings want one of four things: transactional mail from a store, a fix for app mail landing in spam, notifications routed from a tool that only speaks SMTP, or — most commonly — sending domain authentication. Klaviyo fully supports that last job: the domain authentication section is the part worth bookmarking.

Quick reference

SMTP relayNot offered. No hostname, port or credential on any tier.
Sending methodREST API, base https://a.klaviyo.com/api, header Authorization: Klaviyo-API-Key
Direct send-email endpointNone. Mail is dispatched by a metric-triggered Flow, not by a call carrying a body.
Sending domain authBranded subdomain: 3 CNAME (static) or 4 NS (dynamic), plus 1 root TXT. SPF and DKIM applied automatically.
Transactional emailFlow message with transactional status APPROVAL REQUIRED — paid accounts, up to 24 hours review. Or pair Postmark or Brevo.
Inbound / parseNone. Klaviyo Helpdesk forwards server-side to a generated address, with no SMTP or IMAP credentials.
Official docsAPI overview · Sending domain setup

Why Klaviyo has no SMTP relay

Klaviyo is an ecommerce marketing automation platform with a CDP underneath, not an email infrastructure vendor. The model is profile-centric: you push data and events in, the flow engine decides who gets messaged, and Klaviyo sends from templates it controls. An SMTP relay is a “deliver this arbitrary MIME message now” primitive, and that primitive exists nowhere in the architecture — not even in the API. Klaviyo staff on the developer forum: “sending emails via API is not supported… in order to protect against the potential for spam”.

The commercial logic agrees. Klaviyo bills on active profiles and its reputation rests on curated traffic from vetted senders; an open relay would put unvetted mail on that infrastructure. Klaviyo has never ruled it out — a community manager said in 2021 that “in the future, we may offer this” — but as of August 2026 nothing has shipped and no official page documents a host or port. Treat any blog quoting Klaviyo SMTP settings as fabricated.

What you actually need instead

Sending transactional email

Inside Klaviyo, the documented path is API-triggered: POST a custom event to https://a.klaviyo.com/api/events, build that metric into a metric-triggered Flow, put your message in the Flow, then toggle transactional status and submit for review. Use the server-side endpoint, not the client one, which “can be blocked by someone’s browser or device”, and set unique_id for idempotency. The body must already exist as a Flow template.

Outside Klaviyo, run a dedicated relay: Postmark, Amazon SES, Brevo or Mailjet. See pairing below.

Connecting a CMS or app

WP Mail SMTP, WooCommerce, Magento 2 Mail Sending Settings, Laravel’s mailer, Django’s EMAIL_HOST all want host, port, username and password, and Klaviyo satisfies none of them. Point those fields at a relay and connect Klaviyo through its ecommerce integration, which syncs profiles, orders and events without touching mail transport.

Routing notifications from internal tools

Monitoring alerts, CI pipelines and internal dashboards usually offer SMTP and nothing else. There is no Klaviyo path here, and operational noise would inflate your active-profile count anyway; a low-tier relay covers it for a few dollars a month. The Klaviyo + SMTP by Zapier listing connects Klaviyo to somebody else’s SMTP server — evidence there is no Klaviyo SMTP.

Sending domain authentication

This is the real payload. If a deliverability guide sent you looking for SMTP settings, what you need is a branded sending domain, and Klaviyo supports that fully. Without one you are on the shared domain, where Klaviyo states that “emails will always have a misalignment between your from-address and the actual sending domain”. Under Google and Yahoo bulk-sender enforcement that is an inbox placement problem, not a technicality.

SPF and DKIM setup

Go to Settings › Domains, choose a unique unused sending subdomain, and pick a routing mode. Static routing gives three CNAMEs plus one root TXT verification record; dynamic routing delegates the subdomain to Klaviyo’s four nameservers instead, plus the same TXT. You need DNS control on the root domain and an Owner, Admin, Manager or Campaign Coordinator role in Klaviyo.

; STATIC ROUTING - 3 CNAMEs + 1 root TXT
send.yourdomain.com.              CNAME   1.klaviyodns.com.
km1._domainkey.yourdomain.com.    CNAME   km1.domainkey.1.klaviyodns.com.
km2._domainkey.yourdomain.com.    CNAME   km2.domainkey.1.klaviyodns.com.
yourdomain.com.                   TXT     "klaviyo-site-verification=YOUR_PUBLIC_API_KEY"

; DYNAMIC ROUTING ALTERNATIVE - 4 NS + the same root TXT
send.yourdomain.com.              NS      ns1.klaviyo.com.
send.yourdomain.com.              NS      ns2.klaviyo.com.
send.yourdomain.com.              NS      ns3.klaviyo.com.
send.yourdomain.com.              NS      ns4.klaviyo.com.

; DKIM selector prefixes vary by stream:
;   km1 / km2 = marketing   kt1 / kt2 = transactional   ks1 / ks2 = service

The numeric segment in the klaviyodns.com targets is account-specific — the 1. here mirrors Klaviyo’s documentation example, so copy the exact strings your own Settings › Domains screen renders. And there is no SPF include to add by hand: Klaviyo applies SPF and DKIM automatically through those records. A manual include is redundant at best, and at worst pushes you toward the 10 DNS lookup SPF limit that invalidates the record.

DMARC alignment

Klaviyo does not create your DMARC record — you add it at _dmarc.yourdomain.com. Klaviyo generates a starter policy of v=DMARC1; p=none; and documents the fuller form with reporting.

_dmarc.yourdomain.com.  TXT  "v=DMARC1; p=none; rua=mailto:dmarc-reports@yourbrand.com"

Start at p=none with rua reporting, read the reports for at least two weeks to confirm every legitimate stream aligns, then move to p=quarantine and eventually p=reject. Only a branded domain makes that possible. One caveat: Klaviyo’s double opt-in confirmations and certain service emails still leave from txn.klaviyomsv.com and cannot be moved, so they never align.

Sending limits

Klaviyo throttles on a monthly plan allowance rather than an hourly rate, and publishes no per-hour throughput or per-campaign recipient ceiling. The API side is documented precisely.

LimitValueNotes
Monthly email allowancePlan-tieredFree plan capped at 500 emails/month across campaigns and flows, 250 active profiles.
Create Event burst350 req/sXL tier — the endpoint transactional flows are triggered from.
Create Event steady3,500 req/minLower tiers: XS 1/s, S 3/s, M 10/s, L 75/s.
Emails per hourNot publishedThrottled internally. No per-message recipient ceiling is documented either.
AttachmentsNot supportedNo true file attachments — host PDFs and link them. Only documented cap is animated GIFs under 5 MB.

Non-429 responses carry RateLimit-Remaining and RateLimit-Reset; a 429 returns Retry-After. Honour it rather than retrying blind.

Common mistakes

Assuming a REST API implies a send-email call

The second guess after “there is no SMTP” is that a programmatic send exists somewhere in the API. It does not. The only route is indirect: POST an event, have a metric-triggered Flow listening, let it render and dispatch. Teams that scope a migration as “swap the SMTP host for an API call” find mid-sprint that every template must be rebuilt in Klaviyo, each needing separate approval.

Transactional status is gated, reviewed, and silently revoked on edit

Reaching unsubscribed customers — the point of a password reset — requires transactional status: paid accounts only, manually approved with up to 24 hours turnaround, metric-triggered flows only, and no marketing content. Worse is revocation: editing an approved message strips the status and forces re-approval, so a Friday copy tweak quietly demotes a shipping email back to marketing, where it stops reaching unsubscribed customers all weekend.

Hand-adding an SPF include, or staying on the shared domain

Two DNS mistakes, opposite in kind. Staying on the shared sending domain guarantees from-address misalignment and, under bulk-sender enforcement, inbox placement failure. Over-configuring is just as damaging: do not paste a Klaviyo SPF include, because SPF and DKIM are applied automatically through the CNAME or NS records, and a manual include burns one of your 10 permitted SPF lookups.

The monthly cap auto-cancels campaigns and upgrading does not resume them

Hitting the send allowance is destructive rather than throttling: Klaviyo cancels the campaign outright, and it does not resume after you upgrade. Half your list gets the Black Friday email and you must rebuild the send for the rest. On the free plan the cliff is 500 emails per month across campaigns and flows. Enable auto-upgrade or flexible overages before any large send.

Pairing Klaviyo with an SMTP provider

Recommended setup

Split by traffic type, on separate subdomains, with separate DKIM keys. Klaviyo keeps campaigns and flows on your branded marketing subdomain — send.yourbrand.com above — while the relay handles receipts, resets and app notifications on a transactional subdomain such as mail.yourbrand.com. That is reputation isolation: a complaint spike on a promotional send cannot degrade password reset delivery.

Postmark is the default recommendation: separate message streams enforce the split inside one account, and it drops straight into WP Mail SMTP, WooCommerce and Magento 2. Budget for the second bill — Klaviyo starts around $20/month at the 251–500 active-profile tier, a small-store transactional tier typically $10–15/month. To consolidate instead, Mailchimp, ActiveCampaign and MailerLite take a different position on transactional sending.

Keeping the two systems from conflicting

Publish one DMARC policy at _dmarc.yourbrand.com covering the organisational domain, then confirm in aggregate reports that both subdomains authenticate before tightening past p=none. Each system signs with its own DKIM key on its own subdomain, so alignment is per-stream.

On double-sending, decide once per message type which system owns it. The classic failure is a WooCommerce order confirmation leaving through the relay while a Klaviyo “Placed Order” flow fires a receipt too; audit Flow triggers against your cart’s notification settings and disable one side. The platforms also share no suppression lists: a customer who unsubscribes in Klaviyo still gets their password reset from the relay, but never let marketing content leak into that stream to exploit it.

Frequently asked questions

Does Klaviyo have SMTP settings?

No. There is no host, port or password on any plan. Klaviyo staff have said so on the community forum more than once, including “SMTP credentials are not something we offer”, and neither help.klaviyo.com nor developers.klaviyo.com documents SMTP anywhere.

What is Klaviyo’s SMTP server host and port?

There is none. If you have seen send.txn.klaviyomsv.com in email headers, that is Klaviyo’s internal sending infrastructure: not addressable by customers. Any blog quoting a Klaviyo hostname and port is fabricating it.

How do I send transactional emails with Klaviyo without SMTP?

POST a custom event to https://a.klaviyo.com/api/events from your server, build that metric into a metric-triggered Flow, put your message in it, then toggle transactional status and submit for review. Approval is paid-accounts-only and takes up to 24 hours. Set unique_id for idempotency.

Can I use Klaviyo as an SMTP relay for WooCommerce or WordPress?

No. Those plugins require host, port, username and password, and Klaviyo issues none. Point them at a relay such as Postmark or Amazon SES, and keep Klaviyo connected through its ecommerce integration for campaigns and flows.

How do I set up a Klaviyo branded sending domain?

Settings › Domains, choose an unused sending subdomain, then pick static routing (3 CNAMEs plus a root TXT record) or dynamic routing (4 NS records plus the same TXT). SPF and DKIM are provisioned automatically, so do not add an SPF include by hand. Add DMARC yourself at _dmarc.yourdomain.com.

What is the best SMTP provider to use alongside Klaviyo?

Postmark for most stores: transactional-only, separate message streams, and it drops into every plugin that asks for SMTP settings. Amazon SES at high volume if you will own bounce handling. Either way, put it on a separate subdomain from Klaviyo.

AAlaa Touil RRabeb How we test →

This review follows our email infrastructure testing methodology. We disclose affiliate relationships in our editorial independence policy.