The address check: catching addresses that can't receive mail
By Clint ParsleyLast updated
In short. SEMAOS checks every contact's address for a valid format and a domain that can receive mail. A contact that fails is still imported, gets an Undeliverable flag, and is skipped when you enroll it in a sequence.
SEMAOS checks each contact's email address in two ways: is it written as a valid address, and does its domain have somewhere to deliver mail? An address that fails either test can never receive your email. The contact is still saved, marked Undeliverable, and skipped when you enroll it in a sequence. The check is free and runs on every plan.
Why does SEMAOS check addresses?
When a sequence sends through your connected Gmail or Outlook mailbox, a bounce goes back to your own inbox. SEMAOS can only send from your mailbox, not read it, so it never sees that bounce. Without a check, a dead address stays in the sequence and every later step is sent to it again, and each of those bounces counts against your mailbox's reputation with Google or Microsoft.
The check catches the dead addresses that can be spotted before anything is sent.
What does the check look at?
It looks at two things:
- The format. The address needs one @, a name before it, and a real domain after it.
jane@example..comandjane@-acme.comfail. - The domain's mail servers. SEMAOS looks up the domain in DNS, the public directory every mail system uses to find where to deliver:
- The domain lists a mail server: it passes.
- The domain lists no mail server but has a web address: it passes, because mail systems deliver to that address when no mail server is listed.
- The domain says it accepts no email at all: it fails.
- The domain doesn't exist: it fails.
- The domain exists but has neither: it fails.
The check never connects to the mail server and never sends anything. That means it can't tell whether one particular mailbox exists. A typo in the name part, such as jnae@gmail.com, still passes, because gmail.com receives mail.
What if the lookup can't get an answer?
Then the address is treated as fine. A lookup that times out or gets an error from a DNS server tells us nothing about the address, so SEMAOS never flags or skips a contact because of it. The address is checked again the next time it's enrolled. A contact that was already flagged stays flagged until a check gets a clear answer.
When does the check run?
- When you import a CSV. Every contact the file names is checked, including duplicates that were skipped, but not rows skipped because the address is on your suppression list. The check starts once the contacts are saved, so the import finishes first, and it looks up every domain in the file. A file with thousands of domains can take a few minutes more. While it runs, the import's result screen shows Checking…, then a Flagged undeliverable count when it's done. Flagged contacts are imported anyway.
- When you add a contact by hand, or change a contact's email. A new address gets a new check.
- When you enroll contacts in a sequence. Contacts not checked yet are checked then, as many as the check can reach in a few seconds. The rest are enrolled unchecked and checked the next time they're enrolled. A passing answer is kept for 30 days and a failing one for a day, then checked again, so a domain that gets fixed gets its contacts back.
Where do I see the result?
- On the contact's page. An undeliverable contact has an Undeliverable badge, and Address check gives the reason and the date of the check.
- After you enroll. The result counts undeliverable contacts among the skipped ones, next to a link back to this page.
What does the flag stop?
Sequence emails. A flagged contact is skipped when you enroll it. A contact that's already in a sequence when its address is flagged (an import's check can finish after you enroll the contacts) is removed at its next email step: nothing is sent, and the sequence's enrollments list shows Address can't receive mail next to it. Broadcasts and one-off emails aren't blocked by the flag. Broadcasts go out from SEMAOS's sending servers, which see their bounces and add the address to your suppression list on their own.
How do I clear the flag?
Fix the address. Change the email on the contact's page and the new address is checked when you save. If the address was right and the domain was broken, nothing needs doing: the next enroll after a day checks it again, and a passing answer clears the flag.
