Skip to content

Check an email before you send it

How-to guide
For:
HostRepute users
In the app:
Respond, then Campaign preflight

Campaign preflight is an email spam test before sending: you give HostRepute the raw source of one campaign email, and it checks the email’s authentication, links, content and structure, scores it with a spam filter, and lists what to fix, worst first. Use it on the final version of a newsletter or announcement before it goes to your list.

  • 1 credit per check, from the team’s balance. A check that can’t finish is refunded. Credit costs lists every cost.
  • The Developer role or higher to start a check. Other roles see past checks only.
  • The email’s full source, headers included. In most mail apps, open the email and choose “Show original” or “View source”, or save it as an .eml file. For the authentication results, use a copy you received: send a test to your own mailbox first. HostRepute reads SPF, DKIM and DMARC from the Authentication-Results header that the receiving server adds, and a copy exported before sending doesn’t have one. These are Sender Policy Framework (SPF), DomainKeys Identified Mail (DKIM) and DMARC, the checks that tell a mailbox provider the email really comes from your domain.
  • A plan or the trial. A team without one sees Choose a plan to start monitoring again instead of this page.
  1. Open Respond, then Campaign preflight.

  2. Under How to add the email, choose one of the two:

    • Paste the source, then paste everything into The email’s source.
    • Upload an .eml file, then choose Choose a file, or drop it here for The .eml file. Only .eml files are accepted.

    Either way, the email can be up to 2,048 KB.

  3. Choose Check this email. The credit is used straight away and the result page opens.

  4. Wait for the result. The page shows Checking your email… and updates by itself; a check usually takes less than a minute. You can leave the page: the check keeps running and appears under Past checks.

The Campaign preflight page: the three steps, the choice between pasting the source and uploading an .eml file, the source field, the credit cost and the note about what happens to the email.

The top of the result answers whether you can send the email. Its Result is one of these:

StatusMeaning
Fix before sendingAt least one high-severity finding could send the email to spam or get it rejected.
Worth fixingNo high-severity finding, but at least one medium one could hurt delivery.
Looks goodNo high- or medium-severity findings; minor findings and notes may still be listed.

Next to it, To fix counts the findings that ask you to change something, and Spam filter score shows the spam filter’s score and whether it’s under the spam line.

What to fix, worst first lists those findings, each with what to do. Their severities:

StatusMeaning
Fix before sendingHigh severity: a problem that could send the email to spam or get it rejected, such as misaligned DKIM, an image-only message or a link whose text shows a different domain.
Worth fixingMedium severity: something that could hurt delivery but doesn't block sending.
MinorLow severity: a small improvement.
NoteInformational: checked, nothing to change.

Everything we checked has one area per part of the check. Areas with something to fix start open; the others say Nothing to fix.

Area What HostRepute checks
Authentication Whether the bounce address (Return-Path) and the DKIM signing domains line up with your From domain, and the SPF, DKIM and DMARC results in the Authentication-Results header. Without the sending server’s IP, SPF can’t be checked again.
Links Where the links go: URL shorteners, tracking links, link text that shows one domain but goes to another, and the result of opening each link.
Content A plain-text version next to the HTML, HTML size and the balance of HTML to text, image-only emails, tracking pixels, forms, and a postal address.
Spam filter score How the Rspamd spam filter scored the email, and the rules that weighed most.
Structure The parts the email is built from. Attachment contents aren’t shown.
Headers Sender and routing headers, without their values, including a missing or broken List-Unsubscribe header.

About this email shows the From domain, the return-path domain, the domains that signed the email with DKIM, whether you pasted or uploaded it, and whether the credit was charged or refunded.

A campaign preflight result marked Worth fixing, with the spam filter score under the spam line, the findings ranked worst first, the six checked areas and the summary of the email.

HostRepute opens each http and https link in the email the way a reader’s click would, with a GET request from the user agent HostRepute-CampaignPreflight-LinkScanner/1.0, and follows its redirects. It skips unsubscribe links and any link whose address suggests an action, such as opt-out, remove, delete, confirm, verify, activate, reset-password or manage-preferences, so the check never unsubscribes or confirms anything. It doesn’t open links that point to a private network or to localhost, and it stops at a response larger than 256 KB.

SettingDefaultHow to change
Email to check (pasted, or an uploaded .eml file)2,048 KB (2 MB)Fixed
Links checked per emailThe first 100 linksFixed
Redirects followed per link5 redirectsFixed

Links after the first 100 aren’t opened, and a link that redirects more than 5 times is reported as blocked. Each request waits at most 2 seconds to connect and 5 seconds for an answer.

Past checks and each result show the status of the check:

StatusMeaning
CheckingThe check is running; it usually takes less than a minute.
CheckedEvery part of the check ran.
Partly checkedSome parts didn't run, for example authentication alignment or spam scoring, so the result may miss problems. What did run is shown.
Couldn’t checkThe check stopped: the email couldn't be read, it took too long, or something failed on HostRepute's side. The credit is refunded.

A check that is Partly checked keeps its credit. Only a check that couldn’t finish is refunded.

The page puts it this way: “We read it once to run the check, then delete it. What we keep is a summary: the subject, the sender’s domains, counts, scores and findings. The body, attachments, other header values and link tokens are never kept or shown.” The email is deleted as soon as the check ends. If a check is still running after 24 hours, HostRepute stops it, marks it Couldn’t check, refunds the credit and deletes the email. What we kept on the result shows a fingerprint of the email (its SHA-256 hash), so you can tell two checks of the same file apart.

  • The check appears under Past checks with its Result, Spam score and the time it was Checked.
  • About this email on the result says the credit was charged.
  • “Paste a raw email or upload an .eml file.” The form was empty. Paste the source or choose a file.
  • “Use either pasted raw email or an .eml upload, not both.” Keep one of the two.
  • The file is refused. It must end in .eml and be no larger than 2,048 KB. Save the email from your mail app as .eml, or paste its source.
  • Check this email is greyed out, and the credit line says you don’t have enough. The team’s balance is under 1 credit. The Owner can buy more credits with Get more credits.
  • “Your role can see past checks but can’t start new ones.” Ask a team member with the Developer role or higher to run the check.
  • Couldn’t check: “We couldn’t read this as an email.” The source is incomplete. Paste the full source including the headers, or upload the .eml file. The credit was refunded.
  • Couldn’t check: “The check took too long and was stopped.” Choose Try again. The credit was refunded.
  • “This is taking longer than usual.” The check keeps running. Choose Look again in a minute.
  • The authentication findings say there’s no Authentication-Results header. You checked a copy that was never delivered. Send a test to your own mailbox and check the copy you received.
  • The spam filter score shows a dash and the check is Partly checked. The spam filter couldn’t score the email; the result shows what the other parts of the check found. The credit isn’t refunded for a partial check.
  • No emails checked yet means no one in the team has checked an email yet.