diff --git a/site/src/pages/learn/cold-email-rules.astro b/site/src/pages/learn/cold-email-rules.astro
index 32fa08cd..69b8be08 100644
--- a/site/src/pages/learn/cold-email-rules.astro
+++ b/site/src/pages/learn/cold-email-rules.astro
@@ -3,7 +3,7 @@ import Learn from '../../layouts/Learn.astro';
---
CAN-SPAM applies to "commercial electronic mail messages". It does not require prior consent for cold B2B email. It does require:
@@ -30,7 +30,7 @@ import Learn from '../../layouts/Learn.astro'; For Warmbly's defaults, this means: include a physical address in your sender profile, never spoof a name or domain, and ensure unsubscribe replies are auto-suppressed. -GDPR applies to personal data of EU/UK residents. PECR (in the UK) and ePrivacy directives in EU member states specifically cover electronic marketing.
@@ -57,7 +57,7 @@ import Learn from '../../layouts/Learn.astro'; Keep a record of where you sourced each contact and the legitimate interest you relied on. Warmbly's contact import wizard captures source and import notes for exactly this. -CASL is the strictest of the major regimes. It requires express or implied consent before sending commercial electronic messages to Canadian recipients.
@@ -68,7 +68,7 @@ import Learn from '../../layouts/Learn.astro'; Every message must include sender identification, contact info, and a working unsubscribe. Penalties for non-compliance can reach CAD $10M per violation for organisations. -Requires consent (express, inferred or implied), accurate sender identification and a functional unsubscribe. Inferred consent is generous for B2B but not consumer marketing.
@@ -77,11 +77,11 @@ import Learn from '../../layouts/Learn.astro';- Modern warmup tools generate this traffic between participating mailboxes — your mailbox sends short, plain-text messages to other warmed mailboxes, those mailboxes open and reply, and the cycle repeats. Done well, the pattern looks like a real human starting to use a new inbox. + Modern warmup tools generate this traffic between participating mailboxes. your mailbox sends short, plain-text messages to other warmed mailboxes, those mailboxes open and reply, and the cycle repeats. Done well, the pattern looks like a real human starting to use a new inbox.
- Inbox placement is reputation-driven. When a brand-new domain or mailbox starts sending dozens of cold messages to strangers, Gmail and Outlook treat it as suspicious by default. They don't know whether you're a small startup or a spammer. The safest assumption — for them — is spammer. + Inbox placement is reputation-driven. When a brand-new domain or mailbox starts sending dozens of cold messages to strangers, Gmail and Outlook treat it as suspicious by default. They don't know whether you're a small startup or a spammer. The safest assumption. for them. is spammer.
Warmup gives them signal. Mailboxes that send small volumes, get opens, get replies, and don't trigger complaints look like real human inboxes. Providers loosen the screws as that pattern persists. @@ -26,7 +26,7 @@ import Learn from '../../layouts/Learn.astro';
- Start low and ramp slowly. Warmbly's defaults are 10 emails per day to start, +1 per day, with a ceiling of 40 per day. That ceiling exists on purpose — warmup that climbs to 100/day looks unnatural and starts to look like a bot. + Start low and ramp slowly. Warmbly's defaults are 10 emails per day to start, +1 per day, with a ceiling of 40 per day. That ceiling exists on purpose. warmup that climbs to 100/day looks unnatural and starts to look like a bot.
- Warmup recipients should be other warmed, healthy mailboxes — not free trial mailboxes, not throwaways, not lookalikes of catch-all domains. Pool quality matters more than pool size. + Warmup recipients should be other warmed, healthy mailboxes. not free trial mailboxes, not throwaways, not lookalikes of catch-all domains. Pool quality matters more than pool size.
- What matters is not finishing warmup — it's running it indefinitely at a low volume in parallel with your cold sending, so any reputation dip is caught and offset before campaigns hit it. + What matters is not finishing warmup. it's running it indefinitely at a low volume in parallel with your cold sending, so any reputation dip is caught and offset before campaigns hit it.
- In Warmbly, free-tier mailboxes never silently appear in the premium pool. Even dedicated-worker customers participate in the premium pool by default — dedicated infrastructure isn't a reputation shortcut, it's an isolation tool. + In Warmbly, free-tier mailboxes never silently appear in the premium pool. Even dedicated-worker customers participate in the premium pool by default. dedicated infrastructure isn't a reputation shortcut, it's an isolation tool.
- Most cold-email tools report "delivery rate" — the percentage of messages that the receiving SMTP server accepted. That number is almost always close to 100% and tells you almost nothing. + Most cold-email tools report "delivery rate". the percentage of messages that the receiving SMTP server accepted. That number is almost always close to 100% and tells you almost nothing.
A receiving server can accept a message (delivery) and then immediately filter it into Spam, Promotions, or out of the inbox entirely. Placement is the share of accepted messages that land in the recipient's primary inbox. @@ -21,7 +21,7 @@ import Learn from '../../layouts/Learn.astro';
- Warmbly's warmup pool is also a placement probe. Pool members report where each warmup message arrived — inbox, spam, promotions. We aggregate per sending mailbox over a rolling sample window. + Warmbly's warmup pool is also a placement probe. Pool members report where each warmup message arrived. inbox, spam, promotions. We aggregate per sending mailbox over a rolling sample window.
Probe accuracy depends on pool diversity. A pool that only contains Gmail addresses can't tell you anything about Outlook placement. Our premium pool spans Gmail, Outlook, Yahoo, iCloud and self-hosted IMAP servers in proportion to the broader receiver landscape. @@ -29,7 +29,7 @@ import Learn from '../../layouts/Learn.astro';
- Some teams maintain a "seed list" — a fixed set of mailboxes across providers that always receive a copy of every campaign send. The placement on the seed list approximates placement for the full campaign. + Some teams maintain a "seed list". a fixed set of mailboxes across providers that always receive a copy of every campaign send. The placement on the seed list approximates placement for the full campaign.
Seed lists are useful but not free of bias. They tend to be older, more engaged inboxes than your real cold recipients. Treat them as a directional signal. @@ -45,7 +45,7 @@ import Learn from '../../layouts/Learn.astro';
Fix anything that's broken before you start the volume work. Recovery on a misconfigured domain is futile. @@ -56,7 +56,7 @@ import Learn from '../../layouts/Learn.astro';
Reply-rich first sends rebuild engagement signal fast. Cold sends to brand-new contact lists during recovery are the easiest way to undo the work. @@ -77,7 +77,7 @@ import Learn from '../../layouts/Learn.astro'; If after 8 weeks of disciplined recovery the mailbox still hovers below 80% placement, the address has likely picked up reputation damage that won't reverse. Options:
outreach2.acme.com) and start with fresh SPF/DKIM/DMARC.SPF is a TXT record on your sending domain that lists the servers and services allowed to send mail "on behalf" of you. Receivers check the SMTP envelope sender ("MAIL FROM") domain against your SPF record.
An example for a domain that sends through Google Workspace and Warmbly:
v=spf1 include:_spf.google.com include:spf.warmbly.com ~all
v=spf1 — version.include: — defer to another SPF record (Google's, ours).~all — softfail anything not listed. Receivers downgrade reputation but may still deliver.v=spf1. version.include:. defer to another SPF record (Google's, ours).~all. softfail anything not listed. Receivers downgrade reputation but may still deliver.Watch out for: the 10 DNS lookup limit. Every include: counts. Stack too many and SPF returns PermError, which DMARC treats as fail.
DKIM signs outgoing mail with a cryptographic signature. The signature lives in a header; the public key lives in DNS under a "selector". When a receiver gets your message, it fetches your public key, verifies the signature, and confirms the message wasn't altered in flight.
@@ -42,7 +42,7 @@ import Learn from '../../layouts/Learn.astro'; Thegoogle._ part is the selector. You'll have one per sending service, so different providers don't trample each other's keys. Use 2048-bit keys when the provider supports them; 1024 is the minimum.
- DMARC sits on top of SPF and DKIM. It does three things:
@@ -54,10 +54,10 @@ import Learn from '../../layouts/Learn.astro';A starter DMARC record at _dmarc.acme.com:
v=DMARC1; p=none; rua=mailto:dmarc-reports@acme.com; ruf=mailto:dmarc-reports@acme.com; pct=100; aspf=r; adkim=r
p=none — monitor only. Start here.rua — aggregate report mailbox.ruf — forensic report mailbox.aspf=r, adkim=r — relaxed alignment. s is strict.p=none. monitor only. Start here.rua. aggregate report mailbox.ruf. forensic report mailbox.aspf=r, adkim=r. relaxed alignment. s is strict.include: for a new sending service. Mail still leaves; reputation slowly tanks.p=reject on a domain with services you forgot about — legitimate mail starts disappearing.p=reject on a domain with services you forgot about. legitimate mail starts disappearing.For a company at acme.com:
acme.com — transactional and human mail. DMARC reject after rollout.outreach.acme.com — cold campaigns. Its own SPF, DKIM, DMARC.news.acme.com — newsletters. Separate authentication and reputation.acme.com. transactional and human mail. DMARC reject after rollout.outreach.acme.com. cold campaigns. Its own SPF, DKIM, DMARC.news.acme.com. newsletters. Separate authentication and reputation.The sub-domain pattern keeps cold reputation issues from contaminating the inboxes you use to run the company. It also lets you change cold-email providers without disturbing transactional mail. diff --git a/site/src/pages/learn/warmup-pools.astro b/site/src/pages/learn/warmup-pools.astro index 745704bb..34a4f25f 100644 --- a/site/src/pages/learn/warmup-pools.astro +++ b/site/src/pages/learn/warmup-pools.astro @@ -12,7 +12,7 @@ import Learn from '../../layouts/Learn.astro'; A warmup pool is a group of mailboxes that send warmup mail to one another. Your mailbox sends a short message to another mailbox in the pool. That mailbox opens it, sometimes replies, and the pattern reverses with mail from another pool member.
- From a mailbox provider's point of view, the pattern looks like normal individual mailbox activity — low volume, conversational, mixed senders. + From a mailbox provider's point of view, the pattern looks like normal individual mailbox activity. low volume, conversational, mixed senders.
- In Warmbly, free and premium pools are physically separated. Dedicated-worker customers still participate in the premium pool by default — dedicated infrastructure is for isolation and IP control, not a reputation shortcut. + In Warmbly, free and premium pools are physically separated. Dedicated-worker customers still participate in the premium pool by default. dedicated infrastructure is for isolation and IP control, not a reputation shortcut.