A cold email tool can hurt you in two ways. It can fail to send, which costs you a day. Or it can send something it should not have, from a mailbox that was not ready, to an address that does not exist, and cost you a domain. Fuzegenai is built to prefer the first failure over the second.
This post walks through the checks a campaign email passes between "scheduled" and "sent", in the order they happen. It describes what the software does, not what mailbox providers will do with the result.
Choosing a mailbox
When a lead's next step is scheduled, Fuzegenai picks which of your mailboxes will send it. The candidates are the mailboxes you selected for the campaign, narrowed by a series of filters.
Only ACTIVE mailboxes are considered. A mailbox in WARMING status is never used for campaign sends. If every mailbox on a campaign is still warming, the campaign stays active but sends nothing, and the campaign list shows a "Waiting on warmup" badge so you know why. The reasoning is in domain warmup: what actually moves sender reputation.
Reputation sets how much each mailbox may send. Every mailbox has a reputation grade, recalculated from its recent bounces, complaints and send results. The throttle is graduated, not a switch:
- EXCELLENT, GOOD and AVERAGE mailboxes send their full daily allowance.
- A BAD mailbox stays in rotation at a reduced share of its allowance, currently one fifth, while warmup continues beside it. Cutting it off entirely would leave it no way to recover. Letting it run at full volume would dig the hole deeper.
- A VERY_BAD mailbox is paused for campaigns. Its allowance is zero, it is moved back to warming, and anything already queued for it is cancelled instead of sent.
Mailboxes at their cap are skipped, and so are mailboxes whose warmup is idle, paused, failed or still verifying DNS, or whose domain is not yet marked ready.
Rotation then picks the healthiest, least-loaded mailbox. The remaining candidates are sorted by reputation grade, best first. Within a grade, the mailbox that has carried the fewest emails for this campaign today goes first. Load spreads evenly instead of piling onto the first mailbox on the list. One exception: if provider matching is switched on and the recipient uses a consumer Gmail, Outlook or Yahoo address, a mailbox on the same provider is preferred.
If no mailbox qualifies, nothing is queued. The lead waits.
Checks on the recipient
Invalid addresses are never queued. Lead addresses are verified when a campaign launches, and leads marked invalid are left out of scheduling. A second check runs at send time, covering syntax, whether the domain accepts mail, and disposable domains. Only a definite "invalid" blocks the send. An "unknown" result passes through, and if the verifier itself has an error, the email continues. A verification fault should not halt your campaign.
Suppressed addresses are skipped. Before each send, the recipient is checked against your organisation's suppression list, which holds unsubscribes, hard bounces, complaints and addresses that failed verification. If you have set a contact frequency cap, that is enforced here too.
Role accounts are skipped by default. Addresses such as info@ and support@ are cancelled unless you allow them in the campaign's options. Building a lead list that does not burn your domain explains why.
The lead and the campaign must still be active. If the lead has been paused, has bounced or has otherwise left active status since the email was queued, or the campaign has been paused, the email is cancelled.
Checks on the message
Variables must resolve. If variable substitution fails, the email is marked failed and not sent. A message that opens with a raw {{first_name}} is worse than no message.
Unsubscribe headers are added. Campaign emails carry List-Unsubscribe and List-Unsubscribe-Post headers for one-click unsubscribe as defined in RFC 8058, unless you turn this off.
The email is scored for spam. The finished message, with headers, body and links exactly as the recipient would get them, is passed to rspamd, an open-source spam filter. The score decides what happens next:
- Below 2.0, the email goes ahead.
- From 2.0 up to 8.0, the email is held. It is not sent, and the score and the rules that fired are saved on its record. The fix is to rewrite the content, not to retry.
- At 8.0 or above, or when rspamd itself recommends rejection, the email is blocked.
If the scoring service cannot be reached, campaign emails are not sent. This is deliberate: the system fails closed. Warmup traffic is handled with more tolerance, but a campaign email does not go out unscored.
A held or blocked email does not count against the mailbox's daily cap or your plan's monthly quota, because it never left.
One caveat. A low rspamd score means the message did not trip a well-known set of content and header rules. It is not a prediction of where Gmail or Microsoft will place the message. It catches avoidable mistakes before they cost you anything. You can run a draft through the free spam checker before it ever reaches a campaign.
Caps that do not bend
Per-mailbox daily cap. Each mailbox has a daily limit that applies across all campaigns together. When the mailbox reaches it, remaining emails are rescheduled to the next day's sending window. The counter resets once a day. The cap is claimed just before the send and released if the send fails for good, so failed attempts do not eat the allowance.
Campaign daily limits. If you set a daily limit on a campaign, or a limit for one mailbox within a campaign, the tighter of the two applies.
Minimum gap between sends. If the campaign sets a minimum or randomised gap, an email that arrives too soon after the last one from that mailbox is pushed back.
Sending days. An email that comes due on a day outside the campaign's schedule is moved to the next allowed day.
Plan limit. Your plan's monthly email allowance is reserved when an email is queued and checked again at send time. Over the limit, the email is cancelled. Plan allowances are on the pricing page.
These are hard stops. No setting tells the system to send anyway. Sending limits and daily caps covers how to set them.
What "sent" means
When every check passes, the email is handed to your mailbox provider, with a small number of retries if an attempt fails. Once the provider accepts it, the email is marked sent, and the spam score is stored on the record.
Sent is the last state Fuzegenai can observe directly. It means your provider accepted the message for sending. It does not tell you the message reached an inbox, and nothing on the sending side can know that. What follows is evidence: a bounce, a reply, an open or an unsubscribe, recorded as it arrives. Tracking opens, clicks and replies explains how to read those.
Why it is built this way
Every check above resolves the same trade-off the same way. When there is doubt about a mailbox, an address or a message, the email waits. A held email costs you a rewrite and a day. A careless send costs you reputation that takes much longer to rebuild.
The practical consequence: when a campaign is active and quiet, read the reason before anything else. Waiting on warmup, a held spam score, a daily cap or a plan limit each point to a specific fix.