One flat fee. Unlimited use. No credits. See what it finds
Projects

Sending setup and deliverability

Pass the MX, SPF, DKIM and DMARC checks, warm up a new domain, test inbox placement and know when to slow down, so your outreach lands in the inbox.

6 min readUpdated

Outreach only works if it reaches the inbox. Each project sends from its own address, and Larvabot checks that the domain behind it is set up properly before you start.

#Choose a sender

On the project's Setup tab, under Sending:

  • Your name signs every email. Use your real name.
  • Send from should be an address on the project's own domain, like [email protected]. Emails from [email protected] about yourproject.com look like spam, and Gmail won't let SMTP services send as your Gmail address anyway.

The actual sending goes through the SMTP account in Settings (for example Brevo), which must be allowed to send for that domain.

#The email setup check

As soon as a sender is saved, Email setup check looks up four DNS records for its domain (over DNS-over-HTTPS, so it works from anywhere) and shows a green tick, a warning or a cross, with the fix underneath.

CheckWhat it meansUsual fix
MXThe domain can receive mail. Without it, replies bounce.Turn on Cloudflare Email Routing and forward to your inbox
SPFLists which services may send for your domain.One TXT record like v=spf1 include:spf.brevo.com ~all
DKIMSigns each email so receivers know it's really from you.Authenticate the domain in your SMTP service and add the records it gives you
DMARCTells receivers what to do with mail that fails SPF/DKIM.TXT at _dmarc: v=DMARC1; p=none; to start

Only one SPF record

If you use several services (say Brevo for outreach and Google Workspace for normal mail), merge them into a single record: v=spf1 include:spf.brevo.com include:_spf.google.com ~all. Two separate SPF records count as invalid, and the check will say so.

#A typical free setup

  1. DNS on Cloudflare. Move your domain's DNS to Cloudflare (free). Cloudflare setup
  2. Receiving. Turn on Email Routing and forward hello@yourdomain to your Gmail. That gives you the MX record.
  3. Sending. Add the domain in Brevo under Senders, domains & IPs → Domains and add the DKIM and DMARC records it shows. Brevo setup
  4. SPF. Add Brevo's include to your SPF record (Cloudflare Email Routing adds its own; merge them).
  5. Reading replies. Connect Gmail over IMAP with an app password so Larvabot sees replies and bounces. Gmail setup
  6. Check. Reload the project's Setup tab. All four should be green (DMARC may be a warning until you add it).

#Warm-up mode

A brand-new domain or inbox that suddenly sends 30 emails a day looks like a spammer to Gmail and Outlook. Under Setup → Sending pace, Start warm-up makes the address earn its volume:

  • It starts at 5 new emails a weekday and rises every week (5, 7, 10, 14, 19, 25…) until it reaches the pace you set.
  • It holds at the current level if more than 2% of emails bounced in the last two weeks, or at 5 a day if the latest placement test landed in spam.
  • It pauses new emails if 5% or more bounced. Follow-ups still go out, and it picks up again once bounces drop.

Leave it on for any address that hasn't sent much before, and for every new project on a new domain.

#Inbox placement test

Setup → Inbox placement test sends your latest draft, from your real sending address, to a few test inboxes Larvabot owns (Gmail and other providers). A few minutes later it shows where each copy landed: Inbox, a tab like Promotions, Spam, or nowhere. Run it before your first send and again after any change to your DNS, sending service or email wording.

Landed in spam?

Fix anything red in the email setup check, keep each email to one link, cut sales words and images, and start warm-up. Test again after a few days, not a few minutes: reputation changes slowly.

#Is your email getting through?

Every project's Overview and Emails → Sent show a deliverability report for the last 30 days: how many people you emailed, how many bounced and how many replied, with a plain verdict.

VerdictWhenWhat to do
HealthyUnder 2% bouncedKeep the pace steady and raise it slowly
Slow down2% or more bouncedLower the daily limit and skip addresses that were guessed rather than found on the site
Stop sending5% or more bouncedPause the project and only send to addresses published on the person's own site before starting again
Check placement30+ people emailed, no replies at allEmails are accepted but may be going to spam: run a placement test

Bounces are read from your inbox, so connect it over IMAP (Gmail setup) or the report can't warn you. Stopping when it says so is what keeps your domain off blocklists.

Two places worth a look once a week

  • Your SMTP provider's own logs. Services like Brevo often catch bounces themselves, so not every bounce reaches your inbox. Brevo shows them under Transactional → Logs. If you see hard bounces there that Larvabot didn't, slow down.
  • Google Postmaster Tools (free). Add your sending domain to see how Gmail rates its reputation and how often Gmail users mark you as spam. It only shows data once you send enough mail to Gmail addresses each day, so it's most useful when you raise your pace.

#Build reputation with Mail Mantis (free, self-hosted)

Warm-up mode controls how much you send. Mailbox providers also look at how people react: replies, mail rescued from spam, messages marked important. To build that up for a new domain before outreach starts, you can run Mail Mantis alongside Larvabot.

Mail Mantis is a free, open-source (MIT) warm-up dashboard from the maker of Larvabot. You host it yourself and connect inboxes you own (Gmail and Google Workspace, Outlook and Microsoft 365, Yahoo, iCloud, AOL or any IMAP inbox). It:

  • drafts an ordinary, different email to each of your inboxes with the AI service you choose, and sends it from your domain when you press Send (or daily on autopilot);
  • finds each email in the seed inbox by its Message-ID and reports Inbox (and which tab), Spam, another folder, or not found;
  • replies back and forth from the seed inbox in the same thread, and can move your emails out of spam or mark them important when you choose.

It never touches Larvabot or your Larvabot account, so there's nothing to connect: run it for your sending domain for a few weeks, watch placement turn green, then raise your Larvabot pace. Setup takes one docker compose up or a free Vercel + Neon deploy: see the self-hosting guide and the source on GitHub.

No tool can promise the inbox

Warm-up helps a domain that's set up properly; it can't rescue one that isn't. SPF, DKIM and DMARC, a real reply address, small batches and emails people actually answer matter far more.

#When emails go out

Scheduled emails go out on the project's send days (Monday to Friday unless you pick others under Setup → Autosend) inside the send window from Settings → Sending (SMTP), written as hours like 7-16 (the default), at most your sending pace a day. When you schedule, each email gets an exact time a few minutes after the one before. Reviewing and sending

The window and every time you see use Your timezone, also in Settings → Sending (SMTP) (for example Europe/London). Left blank, it's UTC.

Whose business hours?

Your recipients may not share your timezone. Pick hours that are business hours for the people you're writing to: with your timezone set to UTC, 7-16 covers European mornings through US East Coast lunchtime.

#What every email includes

  • Your name and the project name and domain in the signature
  • A one-line opt-out: If this isn't a fit, just reply "no" and I won't follow up.
  • A List-Unsubscribe header, so mail apps can show their own unsubscribe button
  • Follow-ups threaded under the first email with Re: subjects
  • A copy saved in your inbox's Sent folder when IMAP is connected

Keep going