mockup, screen, smartphone, website, blog, word, subscribe, social, media, channel, subscription, money, sale, youtube, contract, e commerce, number, netflix, streaming, stream, video, subscribe, subscribe, subscribe, subscribe, subscribe, youtube. Newsletter platform setup checklist: domain, DNS and import
Photo by viarami on Pixabay

Guides

Newsletter platform setup checklist: domain, DNS and import

A newsletter platform setup checklist for the technical side: sending subdomain, SPF, DKIM and DMARC, domain warm-up, CSV import and consent before send one.

What to take away

  • Send from a subdomain you control, such as mail.yourdomain.com, not from a free mailbox or your root domain.
  • Publish three DNS records on that subdomainSPF, DKIM and DMARC. Gmail and Yahoo have required them from bulk senders since February 2024, along with one-click unsubscribe.
  • Start DMARC at p=none with a reporting address, then tighten it to p=quarantine.
  • Warm a new domain over two to four weeks, starting near 50 messages a day and doubling every few days.
  • Import a CSV with address, first name, signup date and source of consent, and never a purchased list.
  • Every commercial send needs a postal address and a working opt-out.

Pick the platform first, then touch DNS

Choose the platform before you edit any DNS, because its SPF and DKIM values go into your DNS. SPF lists the platform's sending servers, and DKIM uses a public key the platform supplies. The five platforms owners weigh differ most on fees, payout terms and list portability.

Newsletter platform comparison

Substack

Fee model
No monthly, 10% cut
Best for
Writer, no software budget
Control
Substack sets terms
Payments
Platform handles

Beehiiv

Fee model
Free tier, paid by subs
Best for
Ads and sponsorships
Control
Platform sets layout
Payments
Platform handles

Ghost

Fee model
Self-host or Ghost(Pro)
Best for
Owning list and data
Control
You keep database
Payments
Stripe relationship

Kit

Fee model
Flat fee, not revenue share
Best for
Courses and memberships
Control
Tool-first, less control
Payments
Platform handles

The comparison above sets Substack, Beehiiv, Ghost, Kit and Mailchimp side by side. Whichever you pick, take the exact SPF and DKIM values from its own documentation. Settle that choice on the money first, using the fees and payout rules. Once the platform is picked, everything below is work you do on your own domain before the first send.

The sending subdomain and its three DNS records

Send from a subdomain you control, such as mail.yourdomain.com, rather than a free mailbox or your root domain. A shared address gets filtered, and keeping bulk mail off the root domain protects its reputation. Create the subdomain first, because every record below attaches to it.

Authenticate that subdomain with three DNS records. NIST's Trustworthy Email guidance lists SPF, DKIM and DMARC as the mechanisms for authenticating a sending domain. Each one does a separate job:

RecordWhat it doesWho supplies the value
SPFLists the platform's sending serversThe platform
DKIMSigns each message with a public keyThe platform
DMARCTells mailbox providers how to treat failuresYou, with a policy and a reporting address

You publish the records in the DNS panel of your registrar or DNS host. The shapes look like this, with the angle-bracket parts replaced by the values your platform and you supply:

  • SPF, a TXT record on the subdomainv=spf1 include:<platform-sending-host> ~all
  • DKIM, a record on <selector>._domainkey.mail.yourdomain.com, with the name and value the platform gives you
  • DMARC, a TXT record on _dmarc.mail.yourdomain.comv=DMARC1; p=none; rua=mailto:<your-reporting-address>

Start DMARC at p=none with a reporting address, then tighten it to p=quarantine. The first setting only reports, so nothing is held back while you read the reports and fix whatever fails.

Gmail and Yahoo require SPF, DKIM and DMARC from bulk senders, plus one-click unsubscribe, since February 2024. One-click unsubscribe relies on the List-Unsubscribe and List-Unsubscribe-Post message headers, so check that your platform adds both. Skip authentication and your first large send lands in spam.

Warming a new domain over two to four weeks

Warm a new domain over two to four weeks instead of importing the full list and blasting it. Mailbox providers have no history for a new sending domain, so a sudden large send gives them nothing to trust.

  1. Start near 50 messages a day.
  2. Double the daily volume every few days while the sends keep landing normally.
  3. Hold the volume where it is if mail starts landing in spam, and fix the cause before you raise it again.
  4. Reach the full list inside the two to four weeks, then settle into your regular schedule.

Warm-up is a one-off, and the schedule after it should be one you can hold. A content calendar fixes the cadence before the first send, so the volume you warmed up to stays steady.

Preparing the list import

Import a CSV with four fields for each record: email address, first name, signup date and the source of consent. The consent field matters most, because it is the record you will reach for if a subscriber complains later.

Clean the file before upload, not after:

StepWhat to doWhy
DeduplicateRemove repeated addressesOne person, one record
SuppressRemove hard bouncesDead addresses should not receive the first sends
VerifyRun a cleaning service, typically $0.003 to $0.008 per addressCatches bad addresses a bounce list misses
ExcludeNever import a purchased listNo consent record exists for those people

Use double opt-in, or keep a clear record of how each address was collected. If a subscriber complains, the burden is on you to show consent, and the consent column is where that proof lives for imported contacts.

Footer, unsubscribe and opt-outs

Put a valid physical postal address in the footer of every commercial message. CAN-SPAM requires it, and a registered post office box or private mailbox qualifies. Give every message a one-click unsubscribe that works without a login.

Under the FTC's CAN-SPAM compliance guide, you must honor an opt-out request within 10 business days. The sender also stays responsible for a vendor's mistakes, so a platform's error is still your problem.

Test the unsubscribe link yourself on the first warm-up send. Confirm that the opt-out lands on the suppression list you plan to carry to any later platform.

Testing the setup before the first batch

Send the first message to addresses you own, on more than one mailbox provider. Open the headers and confirm that SPF and DKIM show as passing. If either fails, the fault sits in the DNS records, not the content, so fix the records first.

Then read the first DMARC report that reaches your reporting address. At p=none it only lists what passed and what failed, which is why that setting is the safe place to start. Move to p=quarantine once the reports show your platform's mail passing consistently.

The pre-send checklist

Do not send until every item below is ticked. Each one is a step from above that a first large send exposes if it was skipped.

  • Sending subdomain created and used for all bulk mail
  • SPF record published for the platform's sending servers
  • DKIM key published and signing messages
  • DMARC set to p=none with a reporting address
  • Test message to your own addresses shows SPF and DKIM passing
  • One-click unsubscribe tested without a login
  • Postal address in the footer
  • CSV deduplicated, hard bounces suppressed, consent source filled in
  • Warm-up schedule written down, starting near 50 messages a day

Export a copy of the list on the same day. Some platforms restrict bulk export or charge for it, so a copy you hold yourself keeps a later move simple. The platform and distribution guide covers how list ownership shapes that move.

Common questions

Do I need a new domain, or is a subdomain enough?

A subdomain you control is enough, such as mail.yourdomain.com. Keeping bulk mail off the root domain protects its reputation, which matters if your everyday business email lives there.

Can I start DMARC at a strict setting?

Start at p=none with a reporting address, then tighten it to p=quarantine. The first setting lets you see what fails on the reports before the stricter policy has any effect on delivery.

Is a purchased list ever acceptable?

No. You hold no consent record for those addresses, and if a recipient complains, the burden is on you to show consent. Import only people whose signup source you can name.

Does setup change with the platform I pick?

The SPF and DKIM values come from the platform, so they differ; the DMARC policy and reporting address are yours. The steps stay the same: subdomain, records, warm-up, clean import. The platform comparison helps you choose before any of it starts.

More in Guides

Latest from Practice Desk